3.INTERSECT语句和EXCEPT语句
intersect语句可以用来查两个表中的“公共”数据信息,即“交叉”数据信息。INTERSECT 返回 INTERSECT 操作数左右两边的两个查询都返回的所有非重复值。
EXCEPT语句则是用来查询上述“公共”信息“除外”才信息。EXCEPT 从左查询中返回右查询没有找到的所有非重复值。
而与UNION联合查询语句一样,INTERSECT语句和EXCEPT语句查询的两个表必须具有相同的结构,即他们的列必须相似,数目相等,顺序相同,且数据类型兼容。
?
3.1 INTERSECT语句和EXCEPT语句
select 列名 from 表名1
intersect
select 列名 from 表名2
?
select 列名 from 表名1
except
select 列名 from 表名2
?
3.2intersect实例
样例数据
??
要求:求出上面两表中的共同部分。
SELECT [id]
? ? ? ,[姓名]
? ? ? ,[学校]
? ? ? ,[地址]
? ? ? ,[时间]
? FROM [mydata].[dbo].[Table_6]
intersect
SELECT [id]
? ? ? ,[name]
? ? ? ,[school]
? ? ? ,[address]
? ? ? ,[data]
? FROM [mydata].[dbo].[Table_1]
执行结果:
要求:输出上面两表中共同信息除外的信息
SELECT [id]
? ? ? ,[姓名]
? ? ? ,[学校]
? ? ? ,[地址]
? ? ? ,[时间]
? FROM [mydata].[dbo].[Table_6]
except
SELECT [id]
? ? ? ,[name]
? ? ? ,[school]
? ? ? ,[address]
? ? ? ,[data]
? FROM [mydata].[dbo].[Table_1]
执行结果:
?注:输出结果列名与第一个select 语句中的表的列名一致。