[转]SQLServe2005中关于EXCEPT与INTERSECT的用法-金宇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


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

发表时间:2013/5/6 8:36:31 评论(0) 浏览(5987)  评论 | 加入收藏 | 复制
   
摘 要: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群(群号:198465573)
 
 相关文章
SQLServer2005孤立用户的修复方法  【金宇  2013/2/4】
sqlserver2005 TSql新功能学习总结(数据类型篇)  【风行  2013/2/16】
如何查看sqlserver日志的方法  【麥田  2013/3/15】
mysql和SQLserver的区别  【麥田  2013/4/1】
常见问答
技术分类
相关资源
文章搜索
关于作者

金宇

文章分类

文章存档

友情链接