SQL的Join利用图解教程[MSSQL防范]
本文“SQL的Join利用图解教程[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
关于SQL的Join,在学习起来大概是对比乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时刻,关于Select出来的后果集是什么模样有点不是很清楚.Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn diagrams 注释了SQL的Join.我认为清楚易懂,转过来.
假定我们有两张表.
Table A 是左边的表.
Table B 是右边的表.
其各有四条记录,此中有两条记录是相同的,以下所示:
复制代码 代码以下:
id name id name
-- ---- -- ----
1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja
下面让我们来看看差别的Join会产生什么样的后果.
SELECT * FROM TableA id name id name |
|
SELECT * FROM TableA id name id name |
|
SELECT * FROM TableA id name id name |
|
SELECT * FROM TableA id name id name |
|
SELECT * FROM TableA id name id name |
复制代码 代码以下:
SELECT * FROM TableA
CROSS JOIN TableB
这个笛卡尔乘积会产生 4 x 4 = 16 条记录,普通来说,我们很罕用到这个语法.但是我们得当心,假如不是利用嵌套的select语句,普通系统城市产生笛卡尔乘积然再做过滤.这是关于性能来说是非常危险的,特别是表很大的时刻.
以上是“SQL的Join利用图解教程[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |