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,更加便于代码优化和检查;
以上是我学习中所遇到的问题,及自己验证后给的结论,若有高见,请指明。