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

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,
user_sex, 
  from tmp_whg_test a
  left join tmp_whg_user_information b on b.user_no=a.user_no


(2)
select user_no,
user_name,
user_sex, 
  from tmp_whg_test a
 inner join tmp_whg_user_information b on b.user_no=a.user_no


(3)
select user_no,
user_name,
user_sex, 
  from tmp_whg_test a
 right join tmp_whg_user_information b on b.user_no=a.user_no

*/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值