数据库表连接之左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)

现在有两张表,计算机学院学生表和选课表,表的结构如图所示:
在这里插入图片描述

Student
在这里插入图片描述

SCourse

   为了更加直观的解释,先以上述两张表为基础执行相应的SQL语句,再进行解释。

左连接(LEFT JOIN)
SQL语句

SELECT * FROM Student LEFT JOIN SCourse ON Student.SNumber = SCourse.SID
执行结果

在这里插入图片描述

详细解释
LEFT JOIN首先取出的是主表的所有记录,在这个例子中也就是Student表的所有记录,然后按ON后面的条件进行连接,满足条件则把附表的相应记录加到主表的相应记录中,若没有满足条件的则相应字段为Null,也就是上图的结果。

右连接(RIGHT JOIN)
SQL语句

SELECT * FROM Student RIGHT JOIN SCourse ON Student.SNumber = SCourse.SID
执行结果

在这里插入图片描述

详细解释
RIGHT JOIN首先取出的是也是主表的所有记录,在这个例子中是SCourse表的所有记录,然后按ON后面的条件进行连接,满足条件则把附表的相应记录加到主表的相应记录中,若没有满足条件的则相应字段为Null,也就是上图的结果。

内连接(INNER JOIN)
SQL语句

SELECT * FROM Student INNER JOIN SCourse ON Student.SNumber = SCourse.SID
执行结果

在这里插入图片描述

详细解释
INNER JOIN不以哪个表为主表,只连接满足条件的记录。它就等价于:
SELECT * FROM Student, SCourse WHERE Student.SNumber = SCourse.SID

————————————————
版权声明:本文为CSDN博主「初心不忘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shuaijiasanshao/article/details/51387192

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值