码迷,mamicode.com
首页 > 其他好文 > 详细

13 JOIN连接的用法

时间:2021-06-02 11:53:02      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:基于   没有   完全   技术   str   name   inner   strong   显示   

13.1 JOIN连接的作用

JOIN连接用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。最常见的JOIN类型:INNER JOIN(简单的JOIN)。INNER JOIN从多个表中返回满足JOIN条件的所有行。

示例数据库:

Orders表,

技术图片

 

 Customers表,

技术图片

 

 13.2 JOIN实例

--查询每个订单ID是哪些客户订购的,以及具体的订单时间

SELECT o.订单,c.姓名,o.订单日期
FROM Orders AS o
INNER JOIN Customers AS c
ON o.客户ID=c.客户ID; 

13.3 不同的JOIN

下面是可以使用的不同的JOIN类型:


INNER JOIN:如果表中有至少一个匹配,则返回行;

LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行;

RIGHT JOIN:即使左表中没有匹配,也从右表中返回所有的行;

FULL JOIN:只要其中一个表中存在匹配,则返回行。

13.4 INNER JOIN

内部连接INNER JOIN关键字选择两个表中具有匹配值的记录。

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.coulumn_name=table;

注意:INNER JOIN与JOIN是相同的

技术图片

 

 13.5 LEFT JOIN

左连接LEFT JOIN关键字返回左表(表1)中的所有行,即使在右表(表2)中没有匹配。如果在正确的表中没有匹配,结果是NULL。

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;

或者

SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;

注意:在一些数据库中,LEFT JOIN也称为LEFT OUTER JOIN。

技术图片

 

 示例:

--查看客户Customers表中的所有用户是否都有下单

SELECT c.姓名,o.订单ID,o.订单日期
FROM Customers AS c
LEFT JOIN Orders AS o
ON o.客户ID=c.客户ID;

13.6 RIGHT JOIN

右连接RIGHT JOIN关键字返回右表(表2)的所有行,即使在左表(表1)上没有匹配。如果左表没有匹配,则结果为NULL。

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;

注意:在一些数据库中,RIGHT JOIN也被称为RIGHT OUTER JOIN。

技术图片

 

 13.7 FULL OUTER JOIN

当左表(表)或者右表(表2)记录匹配时,FULL OUTER JOIN关键字将返回所有记录。

注意:FULL OUTER JOIN可能会返回非常大的结果集!

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

技术图片

 

 全连接就是将table1和table2的内容完全显示,不管有没有匹配上。

13 JOIN连接的用法

标签:基于   没有   完全   技术   str   name   inner   strong   显示   

原文地址:https://www.cnblogs.com/yongzhao/p/14814660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!