SQL:Join的测试和分析

Join的测试和分析

Join分为三种:inner Join,Left Join,right Join

首先,我觉得要知道一个概念:临时表或者说虚拟表,Join的作用就是生成一个虚拟表,因为我本身专业并不是计算机,更不是编程。所以走了很多弯路,直到用了很多次数据表的关系之后,才明白这个道理。

1,Inner Join

Select * from Table_A inner join Table_B on Table_A.Model = Table_B.Model

虚拟表如下,取决于左右表格Model相同的记录,虚拟表总行数=左右表格乘法累加\sumxy=x1y1+x2y2+x3y3......

 

2,Left Join:

SELECT fcst.*, bom.*, [BOM]![Qty]*[FCST]![Qty] AS REQ FROM fcst LEFT JOIN BOM ON BOM.Model = FCST.Model;

虚拟表结果如下图:

JOIN这个“单词”中左边全部出现在虚拟表中,右边无匹配时会:只列左,没有就空白,虚拟表行数=n+\sumxy,n=仅存在于左表的记录

3,right Join:

参考Right Join,需要注意的是Left join看左边Table_name,Right Join以右边Table_Name为主。

另外,ON的等于符号没有左右问题,可以A表=B表,也可以B表=A表

总之,对于像我这类初学者朋友,一定要有虚拟表格这个概念,否则SQL学起来好痛苦,希望大家少走弯路,别像我!

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值