钟二网络头像

钟二网络

探索SQL查询技巧、Linux系统运维以及Web开发前沿技术,提供一站式的学习体验

  • 文章92531
  • 阅读1309821
首页 SQL 正文内容

sql左关联后带出右表信息

钟逸 SQL 2024-04-21 03:19:38 39

在 SQL 中,左关联是一种连接操作,它将左表中的所有行与右表中匹配的行连接在一起。如果右表中没有匹配的行,则左表中的行仍将保留,但右表中的列将显示为 NULL。

**优点:**

保留所有左表数据,即使没有匹配的右表数据。

允许提取右表中与左表行相关的其他信息。

**语 法:**

sql

SELECT *

FROM left_table

LEFT JOIN right_table

ON left_table.key_column = right_table.key_column;

**示例:**

假设我们有两个表:

people:

| id | name |

|---|---|

| 1 | John |

| 2 | Mary |

addresses:

| person_id | address |

|---|---|

| 1 | 123 Main Street |

| 3 | 456 Oak Street |

如果我们执行以下左关联:

sql

SELECT *

FROM people

LEFT JOIN addresses

ON people.id = addresses.person_id;

结果将是:

| id | name | address |

|---|---|---|

| 1 | John | 123 Main Street |

| 2 | Mary | NULL |

正如您所见,John 的地址已从 addresses 表中带出,而 Mary 没有匹配的地址,因此 address 列显示为 NULL。

**注意事项:**

* 左关联可能会导致重复的数据,因为左表中的每条记录都会与右表中的所有匹配记录连接。

* 如果右表很大,可能会影响查询性能。

* 确保将适当的列用作联接键,以确保正确匹配。

文章目录
    搜索