SQL join连接怎样用于结合多个表,还有哪些join类型
这篇文章主要介绍“SQL join连接怎样用于结合多个表,还有哪些join类型”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL join连接怎样用于结合多个表,还有哪些join类型”文章能帮助大家解决问题。
OrderID
CustomerID
OrderDate
10308
2
1996-09-18
10309
37
1996-09-19
10310
77
1996-09-20
CustomerID
CustomerName
ContactName
Country
1
Alfreds Futterkiste
Maria Anders
Germany
2
Ana Trujillo Emparedados y helados
Ana Trujillo
Mexico
3
Antonio Moreno Taquería
Antonio Moreno
Mexico
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;OrderID
CustomerName
OrderDate
10308
Ana Trujillo Emparedados y helados
1996-09-18
CARTESIANJOIN:从两个或多个连接表返回记录集的笛卡儿积
关于“SQL join连接怎样用于结合多个表,还有哪些join类型”就介绍到这了,如果大家觉得不错可以参考了解看看,如果想要了解更多,欢迎关注博信,小编每天都会为大家更新不同的知识。
SQL 连接(Joins)
SQL join 用于把来自两个或多个表的行结合起来。
SQL JOIN
SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
简单地说,就是先确定一个主表作为结果集,然后,把其他表的行有选择性地“连接”在主表结果集上。
最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)。 SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。
让我们看看选自 "Orders" 表的数据:
然后,看看选自 "Customers" 表的数据:
请注意,"Orders" 表中的 "CustomerID" 列指向 "Customers" 表中的客户。上面这两个表是通过 "CustomerID" 列联系起来的。
然后,如果我们运行下面的 SQL 语句(包含 INNER JOIN):
实例
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDateFROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
运行结果如下所示:
不同的 SQL JOIN
在我们继续讲解实例之前,我们先列出您可以使用的不同的 SQL JOIN 类型:
INNER JOIN:如果表中有至少一个匹配,则返回行 LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行 RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行 FULL JOIN:只要其中一个表中存在匹配,则返回行 SELFJOIN:用于将表连接到自己,就好像该表是两个表一样,临时重命名了SQL语句中的至少一个表CARTESIANJOIN:从两个或多个连接表返回记录集的笛卡儿积
关于“SQL join连接怎样用于结合多个表,还有哪些join类型”就介绍到这了,如果大家觉得不错可以参考了解看看,如果想要了解更多,欢迎关注博信,小编每天都会为大家更新不同的知识。
版权声明
本文仅代表作者观点,不代表博信信息网立场。
上一篇:一起聊聊Mysql索引底层及优化 下一篇:mysql 锁机制