SQL 连接
SQL 连接
A JOIN
子句用于根据两个或多个表之间的相关列来合并它们中的行。
我们来看一下“订单”表中的选择:
订单编号 | 客户ID | 订购日期 |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
然后,查看“客户”表中的选择:
客户ID | 顾客姓名 | 联系人姓名 | 国家 |
---|---|---|---|
1 | 阿尔弗雷德·富特基斯特 | 玛丽亚·安德斯 | 德国 |
2 | Ana Trujillo 奉献和赞美 | 安娜·特鲁希略 | 墨西哥 |
3 | 安东尼奥莫雷诺卷饼店 | 安东尼奥·莫雷诺 | 墨西哥 |
注意,“订单”表中的“客户ID”列引用了“客户”表中的“客户ID”。上面两个表之间的关系是“客户ID”列。
然后,我们可以创建以下 SQL 语句(包含 INNER JOIN
),选择两个表中具有匹配值的记录:
它会产生如下结果:
订单编号 | 顾客姓名 | 订购日期 |
---|---|---|
10308 | Ana Trujillo 奉献和赞美 | 9/18/1996 |
10365 | 安东尼奥莫雷诺卷饼店 | 11/27/1996 |
10383 | 环合之角 | 12/16/1996 |
10355 | 环合之角 | 11/15/1996 |
10278 | 贝尔格伦德斯山口 | 8/12/1996 |
不同类型的 SQL JOIN
以下是 SQL 中 JOIN 的不同类型:
(INNER) JOIN
:返回两个表中具有匹配值的记录LEFT (OUTER) JOIN
:返回左表的所有记录,以及右表中匹配的记录RIGHT (OUTER) JOIN
:返回右表的所有记录,以及左表中匹配的记录FULL (OUTER) JOIN
:当左表或右表有匹配项时,返回所有记录