当前位置:首页 > 行业动态 > 正文

左右连接查询sql语句

左右连接查询SQL语句是一种用于从两个或多个表中获取数据的查询方式,通过连接条件将相关表的数据组合在一起。

连接查询(JOIN)是SQL中用于从多个表中获取数据的一种操作,在连接查询中,我们需要指定两个或多个表之间的关联条件,以便将它们的数据组合在一起,常见的连接类型有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。

左右连接查询sql语句  第1张

以下是一个简单的连接查询示例:

1、假设我们有两个表,一个是学生表(students),另一个是成绩表(scores):

学生表(students):

id name
1 张三
2 李四
3 王五

成绩表(scores):

id student_id subject score
1 1 语文 80
2 1 数学 90
3 2 语文 85
4 2 数学 95
5 3 语文 75
6 3 数学 80

2、我们想要查询每个学生的姓名和他们的成绩,可以使用内连接(INNER JOIN)实现:

SELECT students.name, scores.subject, scores.score
FROM students
INNER JOIN scores ON students.id = scores.student_id;

查询结果:

name subject score
张三 语文 80
张三 数学 90
李四 语文 85
李四 数学 95
王五 语文 75
王五 数学 80

3、如果某个学生没有成绩记录,我们希望仍然能看到这个学生的信息,可以使用左连接(LEFT JOIN)实现:

SELECT students.name, scores.subject, scores.score
FROM students
LEFT JOIN scores ON students.id = scores.student_id;

查询结果:

name subject score
张三 语文 80
张三 数学 90
李四 语文 85
李四 数学 95
王五 语文 75
NULL NULL NULL
NULL NULL NULL

4、如果某个学生没有成绩记录,我们希望仍然能看到这个学生的信息,可以使用右连接(RIGHT JOIN)实现:

SELECT students.name, scores.subject, scores.score
FROM students
RIGHT JOIN scores ON students.id = scores.student_id;

查询结果:

name subject score
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL

| 李四 | NULL | NULL

0