关于sql数据中“join”的辩证

目前写sql语句少了,根据公司的架构,目前做的应用居多。说说之前上学的时候写join语句吧,

join分为内连接(Inner Join)右外连接(Right Join)、左外连接(Left Join)、全外连接(Full Join)。其实没怎么遇到坑,那就在这里说一下几个的区别吧。
1、Join or Inner Join ,要求两边的表同时有对应的数据,返回行,任何一边缺失数据都不显示。
2、Left Join 即使右边的表没有匹配,也从左表返回所有的行。
3、Right Join 即使左边的表没有匹配,也从有表返回所有的行。
4、Full Join 只要其中一个表存在匹配就返回行。


需要辩证认识一个问题,就是连接两个表时用on、where的区别
on 条件是在生成临时表时使用的条件,它不会管on中的条件是否为真,都会返回左边表中的记录。
where 条件是临时表生成好后在对临时表进行过滤的条件,这时候表示临时表已经生成,对生成的数据进行过滤。

全部评论

相关推荐

点赞 评论 收藏
分享
11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳  yidao,试用期 6 个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务