MySQL左连接与右连接的区别

在MySQL中,连接(Join)是将两个或多个表中的数据按照指定的关联条件进行匹配,从而得到一个新的结果集。MySQL提供了多种连接方式,其中包括左连接和右连接。

1. 左连接(Left Join)
左连接是指将左边的表(左表)中的所有记录都包括在结果集中,而右边的表(右表)中的匹配记录会一起返回。如果右表中没有匹配的记录,则返回NULL。


2. 右连接(Right Join)
右连接与左连接相反,右连接将右边的表(右表)中的所有记录都包括在结果集中,而左边的表(左表)中的匹配记录会一起返回。如果左表中没有匹配的记录,则返回NULL。

为了更好地理解左连接和右连接的区别,以下是一个示例数据表的结构和数据:

student表:

student_idname
1Alice
2Bob
3Charlie


teacher表:

teacher_idstudent_idcoursenum
11A1
21B2
33C3


下面是使用左连接和右连接查询结果的示例代码:

-- 左连接

SELECT student.name, teacher.course, teacher.num
FROM student
LEFT JOIN teacher
ON student.student_id= teacher.student_id;

-- 右连接

SELECT student.name, teacher.course, teacher.num
FROM student
RIGHT JOIN teacher
ON student.student_id= teacher.student_id;


执行上述代码后,我们可以得到以下结果:

左连接结果:

namecoursenum
AliceA1
AliceB2
CharlieC3
BobNULLNULL


右连接结果:

namecoursenum
AliceA1
AliceB2
CharlieC3


从上述结果中可以看到,左连接将左表中的所有记录都包含在结果集中,即使右表中没有匹配的记录。而右连接将右表中的所有记录都包含在结果集中,即使左表中没有匹配
 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值