SQL Server 集合查询

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:24:55
SQL Server中的集合查询有交、并、差,其中并是用union,交是用intersect还是exists,差是用ecept还是not exists。具体语法结构是什么?谢谢!
谢谢yolanda_yang08,也感谢张少荣。不过intersect和except好像在SQLserver中有错误。

(select * from tableA) union (select * from tableB) 并
(select * from tableA) minus (select * from tableB) 差
(select * from tableA) intersect(select * from tableB) 交

*部分是操作的字段

差是except 交是intersection

UNION的语法格式为:

SELECT <COLUMN_NAME>

FROM <TABLE_NAME >

WHERE < CONDITION>

UNION [ALL]

SELECT < COLUMN_NAME >

FROM < TABLE_NAME >

WHERE < CONDITION >

[, ...n ]

其中COLUMN_NAME为查询字段的名称。字段的定义(UNION 运算的一部分)不必完全相同,但它们必须能够通过隐式转换相互兼容。UNION 指定组合多个结果集并返回为单个结果集。ALL表示将所有行合并到结果集合中。不指定该项时,被联合查询结果集合中的重复行将只保留一行。

EXCEPT和INTERSECT运算符的使用语法如下所示。

SELECT <COLUMN_NAME>

FROM <TABLE_NAME >

WHERE < CONDITION>

{ EXCEPT | INTERSECT }

SELECT < COLUMN_NAME >

FROM < TABLE_NAME >

WHERE < CONDITION >

[,...n ]