DB2数据库中left join/right join和inner join中的关联的字段无顺序的区别

匿名 (未验证) 提交于 2019-12-03 00:38:01

DB2数据库中left join/right join和inner join中的关联的字段无顺序的区别?

这是我在学习SQL中遇到的有点疑惑的问题,因为老是看到朋友写的代码,在关联表的时候,left join有时候表的主键在左边,有的时候在右边,这让我有些不解,因为在C语言中不是这样的,C语言中等号的左右是有区别的,等号是赋值,如a=b;意思是把b的值赋给a;像SQL的等号就只是单纯的两个值相同.

不经常写东西,可能说的不是很明白,也请各位看官们见谅,好了,以下是我的一个例子,没有截图显示代码运行的结果(抱歉)。

至于有关SQL的关联问题,不明白的可以去这个W3Cschool(https://www.w3cschool.cn/sql/)这个网站去瞧瞧,很适合初学者。

/*inner join 与 left join 中的关联 a.user_no = b.user_no 的顺序

--左右的位置没有区别的
(1)
select user_no,
user_name,





(2)
select user_no,
user_name,





(3)
select user_no,
user_name,



*/

a.user_no 和b.user_no 放置位置是没有顺序关系的,意思是放在左右都可以,但是关联的表多了之后,尽量有个规范的放置顺序,比如:统一主表a表的a.user_no=b.user_no,更加便于代码优化和检查;

以上是我学习中所遇到的问题,及自己验证后给的结论,若有高见,请指明。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!