SQL的Join使用图解教程
SELECT * FROM TableA
id name id name
FULL OUTER JOIN TableB
1 Pirate 2 Pirate
1 Pirate 2 Pirate

4 Spaghetti null null
id name id name
LEFT OUTER JOIN TableB
-- ---- -- ----
-- ---- -- ----
SELECT * FROM TableA

SELECT * FROM TableA
INNER JOIN TableB
null null 1 Rutabaga
复制代码 代码如下:
4 Spaghetti null null产生在A表中有而在B表中没有的集合。Table A 是左边的表。
3 Ninja 4 Ninja
4 Spaghetti null nullLeft outer join 产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。
WHERE TableB.id IS null
复制代码 代码如下:
还需要注册的是我们还有一个是“交差集” cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下:null null 3 Darth Vader产生A表和B表都没有出现的数据集。
id name id name
ON TableA.name = TableB.name
id name id name
1 Pirate 2 Pirate
产生的结果集中,是A和B的交集。
id name id name
Table B 是右边的表。
-- ---- -- ----
ON TableA.name = TableB.name
1 Pirate 1 Rutabaga
WHERE TableA.id IS null
-- ---- -- ----
这个笛卡尔乘积会产生 4 x 4 = 16 条记录,一般来说,我们很少用到这个语法。但是我们得小心,如果不是使用嵌套的select语句,一般系统都会产生笛卡尔乘积然再做过滤。这是对于性能来说是非常危险的,尤其是表很大的时候。 2 Monkey 2 Pirate
其各有四条记录,其中有两条记录是相同的,如下所示:
LEFT OUTER JOIN TableB
3 Ninja 4 NinjaInner join

null null 1 Rutabaga
SELECT * FROM TableA
2 Monkey null null
SELECT * FROM TableA
下面让我们来看看不同的Join会产生什么样的结果。
OR TableB.id IS null
-- ---- -- ----
id name id name
-- ---- -- ----
3 Ninja 4 Ninja
SELECT * FROM TableA
2 Monkey null null
ON TableA.name = TableB.name
相关热词: 教程
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/mssql/2076.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
SQL基本教程之行转列Pivo
时间:2021-01-20
-
region from hr.Employees union
时间:2021-01-20
-
有时候需要调整用户权限
时间:2021-01-19
-
(但使用 ORDER BY 子句并不
时间:2021-01-19
-
RAND()*10000)insert into Detail
时间:2021-01-19
-
OR 运算符:在两侧的查询
时间:2021-01-19
-
放假之前老大跟我提起了
时间:2021-01-19
-
数据库的运维计策剧本篇
时间:2021-01-19
热门文章
-
4.与聚合函数和 GROUP BY 子句有关的常见错
时间:2021-01-19
-
SQL Server安全(11/11):审核(Auditing)
时间:2021-01-09
-
sqlserver中查询横表变竖表的sql语句简析
时间:2020-12-08
-
SQL Server简单模式下误删除堆表记录恢复方
时间:2020-12-12
-
关于SQL Server查询语句的使用
时间:2020-12-13
-
MSSQL教程_mssql数据库教程_MSSQL基础教程_第
时间:2020-12-13
-
jdbc连接sql server数据库问题分析
时间:2020-12-10
-
详解SQL游标的用法
时间:2020-12-27
-
sql server 关于设置null的一些建议
时间:2020-12-28
-
mssql关于一个表格结构的另外一种显示(表
时间:2020-12-11
