外链论坛

 找回密码
 立即注册
搜索
查看: 56|回复: 6

MySQL 的内连接、左连接、右连接,基本亦要讲清楚!

[复制链接]

2960

主题

144

回帖

9912万

积分

论坛元老

Rank: 8Rank: 8

积分
99129200
发表于 2024-8-4 10:30:25 | 显示全部楼层 |阅读模式

在 MySQL 中,内连接(INNER JOIN)、左连接(LEFT JOIN)和右连接(RIGHT JOIN)是用于在多个表之间进行相关查找的方式。它们之间的区别如下:

1、内连接(INNER JOIN): 内连接返回两个表中匹配的行,仅有在连接要求满足时才返回结果。即只返回两个表中共有的数据。

示例脚本:

sqlCopy Code-- 假设有两个表:students 和 scores -- 查找学生及其对应的成绩信息 SELECT students.name, scores.score FROM students INNER JOIN scores ONstudents.id = scores.student_id;

以上示例中,运用 INNER JOIN 将 students 表和 scores 表连接起来,并且只返回两个表中 student_id 匹配的行。

2、左连接(LEFT JOIN): 左连接返回左表中的所有行,以及与右表匹配的行。倘若右表中匹配的行,则返回 NULL 值。

示例脚本:

sqlCopy Code-- 假设有两个表:departments 和 employees -- 查找分部及其对应的员工信息 SELECT departments.name, employees.name FROM departments LEFT JOIN employees ONdepartments.id = employees.department_id;

以上示例中,运用 LEFT JOIN 将 departments 表和 employees 表连接起来,并且返回 departments 表中的所有行,以及与之匹配的 employees 表中的行。倘若某个分部对应的员工,则返回 NULL 值。

3、右连接(RIGHT JOIN): 右连接返回右表中的所有行,以及与左表匹配的行。倘若左表中匹配的行,则返回 NULL 值。

示例脚本:

sqlCopy Code-- 假设有两个表:orders 和 customers -- 查找订单及其对应的客户信息 SELECTorders.order_number, customers.nameFROM orders RIGHT JOIN customers ON orders.customer_id = customers.id;

以上示例中,运用 RIGHT JOIN 将 orders 表和 customers 表连接起来,并且返回 customers 表中的所有行,以及与之匹配的 orders 表中的行。倘若某个客户对应的订单,则返回 NULL 值。

总结:

内连接(INNER JOIN)返回两个表中匹配的行。左连接(LEFT JOIN)返回左表中的所有行,以及与右表匹配的行。右连接(RIGHT JOIN)返回右表中的所有行,以及与左表匹配的行。 这些连接类型能够按照实质需求选取,以实现区别查找规律




上一篇:热文回顾 | 超长型桁架式堆垛机的设计
下一篇:深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
回复

使用道具 举报

1

主题

806

回帖

-1

积分

限制会员

积分
-1
发表于 2024-8-29 02:44:28 | 显示全部楼层
感谢您的精彩评论,为我带来了新的思考角度。
回复

使用道具 举报

2940

主题

3万

回帖

9997万

积分

论坛元老

Rank: 8Rank: 8

积分
99979445
发表于 2024-9-27 21:28:19 | 显示全部楼层
楼主听话,多发外链好处多,快到碗里来!外链论坛 http://www.fok120.com/
回复

使用道具 举报

3063

主题

3万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99158953
发表于 2024-9-30 23:28:45 | 显示全部楼层
你的见解真是独到,让我受益匪浅。
回复

使用道具 举报

3129

主题

3万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968654
发表于 2024-10-6 00:07:25 | 显示全部楼层
你的留言真是温暖如春,让我感受到了无尽的支持与鼓励。
回复

使用道具 举报

3112

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108663
发表于 2024-10-10 23:46:25 | 显示全部楼层
i免费外链发布平台 http://www.fok120.com/
回复

使用道具 举报

3063

主题

3万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99158953
发表于 4 天前 | 显示全部楼层
回顾历史,我们不难发现:无数先辈用鲜血和生命铺就了中华民族复兴的康庄大道。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-18 01:29 , Processed in 0.124413 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.