如何在 SQL 中连接两个表
在 SQL 中,连接表允许您基于公共列组合来自多个表的数据。您可以使用不同类型的联接,例如内联接、左联接、右联接和全外联接。
以下是使用左外联接从两个表 A 和 A 中获取数据的示例B:
表:
TABLE A | TABLE B | ||
---|---|---|---|
uid | name | uid | address |
1 | test1 | 1 | address1 |
2 | test2 | 2 | address2 |
3 | test3 | 4 | address3 |
4 | test4 |
查询:
SELECT A.uid, A.name, B.address FROM A LEFT JOIN B ON A.uid=B.uid;
输出:
uid | name | address |
---|---|---|
1 | test1 | address1 |
2 | test2 | address2 |
3 | test3 | NULL |
4 | test4 | address3 |
如您所见, result包含A表中的所有行以及B表中匹配的行。对于A表中uid=3的行,B表中没有匹配的行,因此地址列设置为NULL。
要了解连接的工作原理,可视化该过程会很有帮助。对于左外连接,首先考虑左表(本例中为 A)中的行。对于左表中的每一行,评估连接条件以在右表中查找匹配的行(在本例中为 B)。如果找到匹配项,则两行中的数据将合并为单个结果行。如果未找到匹配项,则结果行中仅包含左表中的数据,右表中任何缺失的列都设置为 NULL。
请参阅 https://www.codeproject 中的图像.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_V2.png 用于连接的可视化表示。
以上是SQL连接如何合并多个表的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!