SQL Server 连接(内连接,外连接,完全连接,交叉连接,联合)
1.连接
有时候需要将连个表的数据合并成一个结果集来显示。为了解决这个问题,就需要用到JOIN连接。
2.内部连接
内部连接根据一个或几个共同的字段将记录匹配到一起。内部连接仅仅返回那些存在字段匹配的记录。
例子:
film表 Actors表
内部连接的关键就是排他性,如上面的Actor表中演员Bogart因为在Film表中没有对应的ID,所以在结果集中就没有显示。
3. 外部连接
外部连接本质上是包含!!!
左外部连接:个人理解就是左表边的全保留(包含),如果右边根据条件没有对应的行,则全是NULL,但还是会保留,不像内连接是直接不显示!
Action表 Film表
内连接
左外连接(左表Film表) 右外连接(左表Film表)
4.完全连接
顾名思义,将两个表的数据全部匹配。相当于左外连接加右外连接!
5.交叉连接
交叉连接不使用ON运算符,使用CROSS关键字。将左侧表与右侧表所有的记录连接,返回所有记录的笛卡尔积。
6.联合
联合(UNION)运算符,用于使两个或两个以上的查询产生一个结果集。
把一个结果集拼到另一个结果集的末尾。
使用UNION的注意事项:1.两个结果集(表)的列数要相同
2.UNION返回结果集的列名以第一个SELECT为准
3.两个结果集对应列的必须可以隐式转换
4.UNION默认消去重复行,可以使用关键字ALL来返回重复行
仍然是之前的两张表:第一个SELECT 起名叫File 之后无论起什么名字都是File,以第一个为准。
下一篇: Android常用数据类型转换
推荐阅读
-
在登录触发器错误情况下连接SQL Server的方法
-
连接到SQL Server 2008时,在默认的设置下SQL Server不允许进行远程连接可能会导致此失败(Microsoft SQL Server,错误:1006
-
SQL Server 2005建立新维护计划报错,未被识别为有效的连接管理器类型
-
sql server连接oracle并实现增删改查
-
如何远程连接SQL Server数据库图文教程
-
SQL语言查询基础:连接查询 联合查询 代码
-
C#实现异步连接Sql Server数据库的方法
-
.net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
-
Java 实现连接sql server 2000
-
IP连接SQL SERVER失败(配置为字符串失败)图文解决方法