SQL中Union,Intersect,Except
类别:数据库 浏览量:589
时间:2014-12-18 SQL中Union,Intersect,Except
SQL中Union,Intersect,Except一、SQL中Union、Intersect、Except的含义
1、Except返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)。
2、Intersect返回 两个结果集的交集(即两个查询都返回的所有非重复值)。
3、union返回两个结果集的并集。
二、限制条件
(1)所有查询中的列数和列的顺序必须相同。
(2)比较的两个查询结果集中的列数据类型可以不同但必须兼容。
(3)比较的两个查询结果集中不能包含不可比较的数据类型(xml、text、ntext、image 或非二进制 CLR 用户定义类型)的列。
(4)返回的结果集的列名与操作数左侧的查询返回的列名相同。ORDER BY 子句中的列名或别名必须引用左侧查询返回的列名。
(5)不能与 COMPUTE 和 COMPUTE BY 子句一起使用。
(6)通过比较行来确定非重复值时,两个 NULL 值被视为相等。(EXCEPT 或 INTERSECT 返回的结果集中的任何列的为空性与操作数左侧的查询返回的对应列的为空性相同)
三、SQL中Union、Intersect、Except实例
create table t1(id int,mark char(2))
go
create table t2(id int,mark char(2))
go
insert into t1
select 1,'t1' union all
select 2,'t2' union all
select 3,'t3' union all
select 4,'t4'
go
insert into t2
select 2,'t2' union all
select 3,'m3' union all
select 5,'m5' union all
select 6,'t6'
go
select * from t1
EXCEPT
select * from t2
go
select * from t1
INTERSECT
select * from t2
go
--EXCEPT结果集为
--1 t1
--3 t3
--4 t4
--INTERSECT结果集为
--2 t2
四、EXCEPT和INTERSECT的优先级
create table t3(int id,mark char(2))
go
insert into t3
select 3,'t3' union all
select 3,'r3' union all
select 5,'m5' union all
select 5,'r5' union all
select 7,'b7' union all
select 8,'b8'
go
select * from t1
EXCEPT
select * from t2
INTERSECT
select * from t3
--运行结果
--1 t1
--2 t2
--3 t3
--4 t4
执行过程
t2和t3先进行的INTERSECT运算,得出5 m5结果集,再和t1进行EXCEPT运算。
标签:SQL
您可能感兴趣
- 如何查看linq生成的sql
- mysql中timestamp类型的CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP属性
- mysql使用步骤(聊一聊MySQL角色Role功能)
- mysql8.0.16安装步骤图解(mysql 8.0.22 安装配置图文教程)
- MySQL主从状态检查的实现(MySQL主从状态检查的实现)
- mysql 查询语法常见问题(MySQL 异常有这一篇就够了!)
- 怎么知道sqlyog连接的哪个mysql(SQLyog连接MySQL8.0报2058错误的完美解决方法)
- php不能用mysql(php写入mysql中文乱码的实例解决方法)
- mysql重新安装失败
- mysql的limit的分页使用(获取 MySQL innodb B+tree 的高度的方法)
- mysql字符串的表示方法(详解mysql中的字符集和校验规则)
- sqlserver如何可视化表(sql server使用公用表表达式CTE通过递归方式编写通用函数自动生成连续数字和日)
- mysql千万级别数据查询优化(mysql千万级数据量根据索引优化查询速度的实现)
- phpmysql怎么搭建(PHP使用PDO、mysqli扩展实现与数据库交互操作详解)
- sql server操作方法(SQL Server 文件操作方法)
- sql server信息管理案例(利用SQL Server数据库邮件服务实现监控和预警)
- 今天要穿什么颜色(今天要穿什么颜色的衣服最吉利)
- 一道高中题-求杯子的高度(一道高中题-求杯子的高度)
- 网坛停摆三巨头亏损惨重,费德勒跌幅88 纳达少赚2400万(网坛停摆三巨头亏损惨重)
- Beyond 版本《无人深空》主线任务攻略 阿特拉斯之道(版本无人深空主线任务攻略)
- 全球科技界最有钱大佬TOP 15 你知道几位(全球科技界最有钱大佬TOP)
- 2主力后腰缺阵 泰山队奇兵有望获重用,赛季0出场,迎来中超首秀(泰山队奇兵有望获重用)
热门推荐
- nginx结构图解(详解Nginx 工作原理)
- ASP.NET文件打包压缩下载
- nginx 使用手册(nginx服务器的下载安装与使用详解)
- laravel 开发自定义组件(解决Laravel blade模板转义html标签的问题)
- 欧洲云服务器和VPS有哪些区别?(欧洲云服务器和VPS有哪些区别?)
- mysql分区表的优缺点(MySQL数据表分区策略及优缺点分析)
- react动态创建菜单并实现局部刷新(使用react-virtualized实现图片动态高度长列表的问题)
- vue引入axios(vue封装axios的几种方法)
- asp.net将Excel文档转换成pdf
- react常用设计模式(提高React界面性能的十个技巧)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9