标签:基于 没有 完全 技术 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的内容完全显示,不管有没有匹配上。
标签:基于 没有 完全 技术 str name inner strong 显示
原文地址:https://www.cnblogs.com/yongzhao/p/14814660.html