SQL Server [join] 整理
Aid Aname Acode
1 aa 001
2 bb 002
3 cc 003
4 dd 004
5 ee 005
Bid Bname Bcode
1 aaa 101
3 bbb 102
5 ccc 103
7 ddd 104
9 eee 105
left join:左联接
SELECT *
FROM A
LEFT JOIN B
ON A.Aid=B.Bid
Aid Aname Acode Bid Bname Bcode
1 aa 001 1 aaa 101
2 bb 002 NULL NULL NULL
3 cc 003 3 bbb 102
4 dd 004 NULL NULL NULL
5 ee 005 5 ccc 103
right join:右联接
返回包括右表中的所有记录和左表中联结字段相等的记录。
SELECT *
FROM A
Right JOIN B
ON A.Aid=B.Bid
Aid Aname Acode Bid Bname Bcode
1 aa 001 1 aaa 101
3 cc 003 3 bbb 102
5 ee 005 5 ccc 103
NULL NULL NULL 7 ddd 104
NULL NULL NULL 9 eee 105
inner join:内联接
只返回两个表中联结字段相等的行。
SELECT *
FROM A
INNER JOIN B //INNER可以不写
ON A.Aid=B.Bid
Aid Aname Acode Bid Bname Bcode
1 aa 001 1 aaa 101
3 cc 003 3 bbb 102
5 ee 005 5 ccc 103
full join:全联接
返回两个表中所有字段。
SELECT *
FROM A
FULL JOIN B
ON A.Aid=B.Bid
Aid Aname Acode Bid Bname Bcode
1 aa 001 1 aaa 101
2 bb 002 NULL NULL NULL
3 cc 003 3 bbb 102
4 dd 004 NULL NULL NULL
5 ee 005 5 ccc 103
NULL NULL NULL 7 ddd 104
NULL NULL NULL 9 eee 105
cross join:交叉联接
返回两个表的笛卡儿积。
SELECT *
FROM A
Cross JOIN B
Aid Aname Acode Bid Bname Bcode
1 1
2 1
3 1
4 (5*5条) 1
5 1
1 3
2 3
……
……
……
SELECT *
FROM A
Cross JOIN B
WHERE
A.Aid = B.Bid
Aid Aname Acode Bid Bname Bcode
1 aa 001 1 aaa 101
3 cc 003 3 bbb 102
5 ee 005 5 ccc 103
与inner join 结果一样,实际上是先返回所有结果(25条),再从中查询符合WHERE的结果。
SQL Server [join] 整理的更多相关文章
- SQL Server Join方式
原文:SQL Server Join方式 0.参考文献 Microsoft SQL Server企业级平台管理实践 看懂SqlServer查询计划 1.测试数据准备 参考:Sql Server中的表访 ...
- SQL Server通过整理索引碎片和重建索引提高速度
本文章转载:http://database.51cto.com/art/201108/282408.htm SQL Server数据库中,当索引碎片太多时,就会拖慢数据库查询的速度.这时我们可以通过整 ...
- sql server 碎片整理——DBCC SHOWCONTIG
转自: 1.http://blog.sina.com.cn/s/blog_6d2675450101ks6i.html 2.http://www.cnblogs.com/CareySon/archive ...
- SQL Server 语句整理
1. 创建数据库 create database dbName 2. 删除数据库 drop database dbName 3. 备份sql server --- 创建 备份数据的 device US ...
- 提升SQL Server速度整理索引碎片
转载:http://wenku.baidu.com/view/f64c8a707fd5360cba1adbea.html SQL Server2005索引碎片分析和解决方法 毫无疑问,给表添加索引 ...
- SQL Server书籍整理
1.<Microsoft SQL Server企业级平台管理实践>徐海蔚2.<SQL Server 2005 Performance Tuning性能调校>胡百敬3.<M ...
- sql server 知识整理 isnull函数()
exec sp_helptext ProPrecode_matcode_uf exec sp_helptext 存储过程名字 isnull 函数() SQL Serve中的isnull()函数: is ...
- sql server join联结
join学习起来有点乱,现做如下整理: table A id abc 1 a 2 b 3 c 4 d table B id abc 1 e 2 a 3 f 4 c --join或者inner join ...
- SQL Server join介绍
介绍Inner Join(可以省略Inner,平常经常inner,就是inner join), Full Out Join,Cross Join,Left Join, Right Join区别. )) ...
随机推荐
- Tools: windbg 使用指南
windbg使用 符号表C:\Symbols; SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols 系统变量_NT_SYMBOL_PAT ...
- js怎样判断一个数是质数
1.首先了解什么是质数(即:只能被1和它本身整除的数叫质数)主要代码 /** *判断该数是否为素数 */ function isPrimeNum(num){ ; i < num/+; i++) ...
- [转]走进 LINQ 的世界
序 在此之前曾发表过三篇关于 LINQ 的随笔: 进阶:<LINQ 标准查询操作概述>(强烈推荐) 技巧:<Linq To Objects - 如何操作字符串> 和 <L ...
- __new__构造方法
""" 对象的创建过程:new创建 返回 模拟实例对象的创建过程. 为啥是静态方法? 先有new后来init.因为init是需要实例对象来调用的,需要一个实例对象和sel ...
- 使用Process子类创建进程
#_author:来童星#date:2019/12/17# 使用Process子类创建进程from multiprocessing import Processimport timeimport os ...
- Java checked异常 和 RuntimeException
RuntimeException RuntimeException是非常特殊的子类,你可以不用throw和throws. 哪怕你throw了,也没必要throws,即使你throws了,调用者也没必要 ...
- Unity 中调用Android的JAVA代码
首先我们要创建一个android项目 因为项目需要使用Unity提供的接口,所以需要将接口classes.jar引入至当前工程但中.接口包的所在地,打开Finder->应用程序->Unit ...
- Delphi之TPersistent类 -----ASSIGN
Delphi之TPersistent类 TPersistent类 TPersistent类是由TObject直接派生的.凡是由TPersistent派生的对象都能够进行流操作.因为所有的组件都是由TP ...
- Go 转义字符
Go 转义字符 package main import "fmt" func main() { fmt.Printf("Hello\tWorld!") } 本文 ...
- Android源码的git下载地址
git clone https://android.googlesource.com/device/common.git git clone https://android.googlesour ...