sql中exists,Intersect ,union 与union All的用法
2024-08-22 14:37:47
熟练使用SQL Server中的各种用法会给查询带来很多方便。今天就介绍一下EXCEPT和INTERSECT。注意此语法仅在SQL Server 2005及以上版本支持。
EXCEPT是指在第一个集合中存在,但是不存在于第二个集合中的数据。
就是两个集中不重复的部分。例如
SELECT * FROM
A
EXCEPT
SELECT * FROM B
这个的意思是,凡是不出现在B表中的A表的行
INTERSECT是指在两个集合中都存在的数据。
就是两个集中共同的部分。例如
SELECT * FROM
A
INTERSECT
SELECT * FROM B
这个的意思是,同时出现在A和B中的记录
测试如下:
- 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
union 与union All的区别
--并集UNION
--UNION与UNION ALL的区别是: union会删除重复值,也就是说A和B中重复的行,最终只会出现一次,而union all则会保留重复行。
SELECT * FROM t1
UNION
SELECT * FROM t2
SELECT * FROM t1
UNION all
SELECT * FROM t2
最新文章
- 高效 Java Web 开发框架 JessMA v3.5.1
- GreenDao关系建表
- SQL中插入单引号,新增修改删除
- Understanding mysql max_connect_errors
- zoj 3805 Machine
- Bash判断文件是否存在
- 设置textView或者label的行间距方法
- 7z文件格式及其源码的分析
- 使用LIBUSB实现和自定义通讯设备通讯--MFC代码在末尾
- Material Design学习-----TextInputLayout
- SocketServer模块
- JPA常用注解
- HDU 2689 Sort it【树状数组】
- 转 InnoDB Error Handling
- 【原创】Arduino、arm、树莓派与单片机
- 在Ubuntu中搭建KMS服务器
- div展开与收起(鼠标点击)
- mpvue最佳实践 , 美团出的一个小程序框架
- 《JAVA与模式》之模板方法模式
- jquery mobile mobiscroll 日期插件使 用mobiscroll
热门文章
- sparkSQL——DataFrame&;Datasets
- vue2.0中配置文件路径
- 设置 vadio 和checkbox是否选中
- 基于tomcat集群做session共享
- 20145314郑凯杰 《Java程序设计》实验二 实验报告
- $(document).ready(function(){})和$(window).load(function(){})的区别
- MR案例:Map-Join
- Alluxio集成Hadoop
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
- An Example for Javascript Function Scoping and Closure