SQL的左右连接一般在什么情况下用
什么情况下要用到左右连接,最常用的两表连接是内链接,查询到的结果是两表匹配的数据.
在企业中比如是京东,有这么个情况,他的商品表是一张表,他的销售数量是一张表.如果要看到商品的销量,两表内链接就可以了.但是很有可能有些商品没有销量,那么这个数量就会为空,那么通过内链接就查看不到了.没有销售的商品对公司反而更重要,我们要分析为什么销售不出去,要找原因,解决内连接匹配不到的问题,就要用到我们后面说的左右连接.
左右连接的使用其实非常简单,下面三句总结:
1、哪个表要全部展示,就看"没有"“全部”这样的字修饰哪个表.
2、如果想用左连接让该表全部展示,那么就将他放在join的左边,如果想用右连接让该表全部展示,那么就将他放在join的右边.
3、如果表在join的左边,我想然他全部展示,就用左连接,如果表在join的右边,我想让他全部展示,就用右连接
我这有个免费的视频链接,黑马程序员视频库里面的,你可以看一下。视频挺多,前后端、设计、人工智能都有
举个例子:
现在需要统计超市每个商品买了多少。
相关的表有两个:
商品表(商品编号,商品名称)
销售表(商品编号,销售数量,月份)
如果直接下面的语句查询,就会遗漏没有销售过的商品。
Select 商品名称,Sum(销售数量)
From 商品表,销售表
Where 商品表.商品编号=销售表.商品编号
这时就需要使用左外连接或者右外连接
Select 商品名称,isnull(Sum(销售数量),0) as 销售数量
From 商品表 Left Join 销售表
On 商品表.商品编号=销售表.商品编号
--SQL SERVER代码
--没有销售过的商品,使用Sum(销售数量)会显示为null,用isnull将null值转换成0
广告 您可能关注的内容 |