区分SQL Server关联查询之inner join,left join, right join, full outer join并图解
1.from A inner join B on A.ID=B.ID :两表都有的记录才列出
A表: ID Name B表: ID Class
1 BMW 1 C1
2 Aodi 2 C2
Null Benz 4 Null
3 Null Null C4
select * from A inner join B on A.ID=B.ID:
ID Name ID Class
1 BMW 1 C1
2 Aodi 2 C2

SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1
2.from A left join B on A.ID=B.ID:
A表中所有记录列出,B中无法匹配的用Null匹配
A表: ID Name B表: ID Class
1 BMW 1 C1
2 Aodi 2 C2
Null Benz 4 Null
3 Null Null C4
select * from A left join B on A.ID=B.ID:
ID Name ID Class
1 BMW 1 C1
2 Aodi 2 C2
Null Benz Null Null
3 Null Null Null

SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL
3.from A right join B on A.ID=B.ID:
B表中所有记录列出,A中无法匹配的用Null匹配
A表: ID Name B表: ID Class
1 BMW 1 C1
2 Aodi 2 C2
Null Benz 4 Null
3 Null Null C4
select * from A right join B on A.ID=B.ID:
ID Name ID Class
1 BMW 1 C1
2 Aodi 2 C2
Null Null 4 Null
Null Null Null C4

SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2

SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL
4.from A full outer join B on A.ID=B.ID.
列出A表所有记录,B表所有记录。无法匹配的用Null替代
A表: ID Name B表: ID Class
1 BMW 1 C1
2 Aodi 2 C2
Null Benz 4 Null
3 Null Null C4
select * from A full outer join B on A.ID=B.ID.
ID Name ID Class
1 BMW 1 C1
2 Aodi 2 C2
Null Benz Null Null
3 Null Null Null
Null Null 4 Null
Null Null Null C4

SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1

SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.ID = t2.ID WHERE t1.ID IS NULL OR t2.ID IS NULL
CROSS JOIN:
交叉连接不需要任何连接条件。这个会把两个表的的数据进行笛卡尔积操作。

SELECT * FROM Table1 t1 CROSS JOIN Table2 t2
区分SQL Server关联查询之inner join,left join, right join, full outer join并图解的更多相关文章
- SQL SERVER 连接查询(join...on...)
SQL SERVER联结查询包含inner join,left join,right join,outer join (on)四种. [inner join]:行数为满足条件n*m,并且on的条件对两 ...
- 转载 50种方法优化SQL Server数据库查询
原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...
- 08Microsoft SQL Server 数据查询
Microsoft SQL Server 数据查询 单表查询所有列 --查询所有行所有列 select all * from table; --查询不重复行的所有列 select distinct * ...
- SQL server 连接 查询
在sql server中,我们经常能用到连接,今天总结一下连接的基础知识.连接的分类: 交叉连接CROSS JOIN 内连接INNER JOIN 外连接{左外连接LEFT [OUTER] JOIN : ...
- SQL Server中查询用户的对象权限和角色的方法
--SQL Server中查询用户的对象权限和角色的方法 -- 查询用户的object权限 exec sp_helprotect NULL, 'sa' -- 查询用户拥有的role exec sp_h ...
- JAVA-Unit03: SQL(基础查询) 、 SQL(关联查询)
Unit03: SQL(基础查询) . SQL(关联查询) 列别名 当SELECT子句中查询的列是一个函数 或者表达式时,那么查询出来的结果集 中对应的该字段的名字就是这个函数或者 表达式的名字.为此 ...
- 一次快速改写 SQL Server 高效查询的范例
原文:一次快速改写 SQL Server 高效查询的范例 最近線上系統突然出現匯出資料超過 10 筆時,查詢逾時的狀況,在仔細查找之後. 發現了問題原因,透過應用端與數據端兩邊同時調整,將查詢的效率提 ...
- SQL Server中查询CPU占用高的SQL语句
SQL Server中查询CPU占用高的情况,会用到sys.sysprocesses ,dm_exec_sessions ,dm_exec_requests 一.查看当前的数据库用户连接有多少 USE ...
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...
随机推荐
- [转]为什么匿名内部类参数必须为final类型
1) 从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自 ...
- Ubantu Mark
说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装.卸载和删除的方法. 一.U ...
- HDU 4578 Transformation (线段树)
Transformation Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 65535/65536 K (Java/Others)T ...
- Java RSA加密算法生成公钥和私钥
原文:http://jingyan.baidu.com/article/6dad5075f33466a123e36ecb.html?qq-pf-to=pcqq.c2c 目前为止,RSA是应用最多的公钥 ...
- 一键建立zookeeper集群
使用yaml文件的好处,通过service name来进行pod间的服务发现, 集群配置dns. [root@k8s-master ~]# cat zookeeper-cluster.yaml api ...
- 重设WebLogic AdminServer的密码
1.先停止运行的WebLogic Server $ $DOMAIN_HOME/bin/stopWebLogic.sh 2.迁移AdminServer下的数据目录 $ mv $DOMAIN_HOME/s ...
- cocos2d-x 学习笔录:将iOS项目编译成Andriod项目
一.Android 环境搭建 1.安装Andriod-NDK(Native Development Kit) 新建一个文件夹(eg:NDK),解压Android-NDK,将解压文件与压缩包放在一个目录 ...
- javascript函数的四种调用模式及其this关键字的区别
方法调用模式: 当一个函数被保存为对象的一个属性时,我们称它为一个方法.当一个方法被调用时,this被绑定到该对象. //方法调用模式 var myObject = { value: 0 , incr ...
- sql 改动表以及表字段
用SQL语句加入删除改动字段 1.添加字段 alter table docdsp add dspcode char(200) alter table tbl add meet ...
- iOS:iOS开发系列–打造自己的“美图秀秀”(上)
来源: KenshinCui 链接:http://www.cnblogs.com/kenshincui/p/3959951.html 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功 ...