关于SQL查询

1.left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 

意味着返回的是左表+右表的结合表,结合了右表中的一些列(这句话很重要

42ab87262bb949db9ee2e16061ea7bf6.png

 这张表很好的说明了问题


2.right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
 

3.inner join(等值连接) 只返回两个表中联结字段相等的行

 

踩的坑:语法格式的问题,联表查询时一步一步来就好了,别想着非要嵌套

 错误案例:逻辑上感觉没毛病,想着先内联一个表再用外层表联这个,其实语法上已经错了

SELECT DISTINCT * FROM 
sale_opp  s 
LEFT JOIN 
SELECT * from se_special_customer_info ssci 
INNER JOIN customer c 
ON ssci.CUST_NAME=c.CUST_NAME 
ON s.CUST_ID=c.CUST_ID

正确案例:

SELECT DISTINCT * from se_special_customer_info ssci 
INNER JOIN customer c
ON ssci.CUST_NAME=c.CUST_NAME 
RIGHT JOIN sale_opp s
ON c.CUST_ID=s.CUST_ID

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值