数据库left join、inner join、right join的理解

数据库left join、inner join、right join的理解,第1张

数据库left join、inner join、right join的理解 left、right、inner join

为了方便理解,简单的做几个表:
1、学生表(student)

IDnameageclassid–1三哥17C1–2四哥16C2–3二妹18C3–4表妹16C2–5媳妇18C5

2、班级表(class)

CIDcnameschoolschoolNO–C1I 体一班IT体育搞校S50001–C2空脑一班颜值搞校S50002–C3塑形一班颜值搞校S50002

使用left join 的结果集(注意上面没有C5的班级也就是说咱媳妇在一个不存在的班级哈):

select stu.*,cla.* from student stu
left join class cla on stu.classid = cla.CID
IDnameageclassidCIDcnameschoolschoolNO1三哥17C1C1I 体一班IT体育搞校S500012四哥16C2C2空脑一班颜值搞校S500023二妹18C3C3塑形一班颜值搞校S500024表妹16C2C2空脑一班颜值搞校S500025媳妇18C5––––

以上表可以看出join的表没有数据与student可以关联,则结果集没有关联部分的join表字段值是空的。

使用inner join 的结果集:

select stu.*,cla.* from student stu
inner join class cla on stu.classid = cla.CID
IDnameageclassidCIDcnameschoolschoolNO1三哥17C1C1I 体一班IT体育搞校S500012四哥16C2C2空脑一班颜值搞校S500023二妹18C3C3塑形一班颜值搞校S500024表妹16C2C2空脑一班颜值搞校S50002

以上表可以看出结果集只显示与student有关联的数据,所以你的媳妇不见了。( ´・・)ノ(._.`)

关于 right join 其实与left差不多的理解了left,right自然就知道了。用left则显示基础表与关联部分数据,而right则显示right表的全部数据包含有关联的数据,前面的表没有与right关联的数据则被过滤。

·

所有的愤怒,基本上都源自于没钱;所有的励志,基本上目标都是挣钱;所有的幸福,基本上状态都是有钱。为了人民币,你凭什么不拼命!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4666553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存