SQL Left Join 仅第一个匹配项

sqlserver

1个回答

写回答

Zj4020

2025-07-09 16:55

+ 关注

在SQL中,有一种JOIN操作叫做LEFT JOIN。LEFT JOIN用于将两个表按照指定的条件进行连接,返回左表中的所有记录,以及右表中与左表记录匹配的第一个记录。本文将介绍LEFT JOIN的用法,并通过一个案例代码来说明其具体应用。

LEFT JOIN的用法

LEFT JOIN用于从左表中选择所有记录,并且与右表中的记录进行匹配。如果左表中的记录在右表中有多个匹配项,那么LEFT JOIN只返回第一个匹配项。如果左表中的记录在右表中没有匹配项,那么相应的字段将会被填充为NULL。

在使用LEFT JOIN时,需要指定两个表之间的连接条件。连接条件可以是两个表之间的某个字段的值相等,也可以是其他复杂的逻辑条件。LEFT JOIN的语法如下:

SELECT 列名

FROM 左表

LEFT JOIN 右表

ON 连接条件;

下面,我们通过一个具体的案例来说明LEFT JOIN的用法。

案例代码

假设我们有两个表,一个是学生表(students),另一个是成绩表(scores)。学生表包含学生的基本信息,如学号、姓名等,成绩表包含学生的各科成绩。

学生表(students)的结构如下:

学号 姓名

1 张三

2 李四

3 王五

成绩表(scores)的结构如下:

学号 课程 成绩

1 数学 90

1 英语 85

2 数学 95

3 英语 80

我们想要查询每个学生的姓名和他们的第一门课程成绩。这时,我们可以使用LEFT JOIN来实现。

sql

SELECT students.姓名, scores.成绩

FROM students

LEFT JOIN scores

ON students.学号 = scores.学号

执行以上代码,将会返回以下结果:

姓名 成绩

张三 90

张三 85

李四 95

王五 80

通过以上案例,我们可以看到LEFT JOIN的作用是将左表中的所有记录与右表中的匹配记录进行连接。如果左表中的记录在右表中有多个匹配项,那么LEFT JOIN只返回第一个匹配项。如果左表中的记录在右表中没有匹配项,那么相应的字段将会被填充为NULL。

LEFT JOIN在实际的数据分析和处理中非常常见,能够帮助我们快速地获取需要的数据。希望通过本文的介绍,你能对LEFT JOIN有更深入的理解。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号