Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

[转]SQLServe2005中关于EXCEPT与INTERSECT的用法

时 间:2013-05-06 08:36:31
作 者:金宇   ID:43  城市:江阴
摘 要:SQLServe2005中关于EXCEPT与INTERSECT的用法
正 文:

注意此语法仅在SQL Server 2005及以上版本支持。
1.区别

EXCEPT是指在第一个集合中存在,但是不存在于第二个集合中的数据。

INTERSECT返回由两个集合中都存在的数据

2.注意事项

(1).使用SQL Server 2005 EXCEPT或INTERSECT比较的结果集必须具有相同的结构。它们的列数必须相同,并且相应的结果集列的数据类型必须兼容

(2).INTERSECT运算符优先于EXCEPT

(3).Select INTO必须是包含INTERSECT或EXCEPT运算符的语句中的第一个查询,用来创建容纳最终结果集的表

(4).ORDER BY子句中的列名或别名必须引用左侧查询返回的列名

 

3.测试如下:

create table A1(id int,mark char(2))
go
create table A2(id int,mark char(2))
go
insert into A1
	select 1,'t1' union all
	select 2,'t2' union all
	select 3,'t3' union all
	select 4,'t4'
go
insert into A2
	select 2,'t2' union all
	select 3,'m3' union all
	select 5,'m5' union all
	select 6,'t6'
go
select * from A1
EXCEPT
select * from A2
go
select * from A1
INTERSECT
select * from A2
go

--EXCEPT结果集为
--1	t1
--3	t3
--4	t4

--INTERSECT结果集为
--2	t2

 



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助