当前位置: 代码迷 >> SQL >> SQL学习简略样例(三):INTERSECT语句和EXCEPT语句
  详细解决方案

SQL学习简略样例(三):INTERSECT语句和EXCEPT语句

热度:144   发布时间:2016-05-05 11:42:15.0
SQL学习简单样例(三):INTERSECT语句和EXCEPT语句

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 语句中的表的列名一致。