JOIN
子句用于根据两个或多个表之间的相关列来组合来自两个或多个表的行。
让我们看一下 "Orders" 表中的一个选择:
OrderID | CustomerID | OrderDate |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
然后,查看 "Customers" 表中的选择:
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 |
请注意,"Orders" 表中的"CustomerID" 列引用"Customers" 表中的"CustomerID"。上面两个表之间的关系是"CustomerID"列。
然后,我们可以创建以下 SQL 语句(其中包含 INNER JOIN
),选择两个表中具有匹配值的记录:
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
亲自试一试 »
它会产生这样的结果:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taquería | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbköp | 8/12/1996 |
以下是 SQL 中 JOIN 的不同类型:
(INNER) JOIN
:返回两个表中具有匹配值的记录LEFT (OUTER) JOIN
:返回左表中的所有记录,以及右表中匹配的记录RIGHT (OUTER) JOIN
:返回右表中的所有记录,以及左表中匹配的记录FULL (OUTER) JOIN
:当左表或右表中有匹配项时返回所有记录
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!