UNION将两个或更多查询的结果合并为单个结果集,该结果集包含联合查询中的所有查询的全部行。UNION 运算不同于使用联接合并两个表中的列的运算。ALL将全部行并入结果中。其中包括重复行。如果未指定该参数,则删除重复行。
EXCEPT 和 INTERSECT 运算符使您可以比较两个或多个 SELECT 语句的结果并返回非重复值。
EXCEPT 运算符返回由 EXCEPT 运算符左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。
INTERSECT 返回由 INTERSECT 运算符左侧和右侧的查询都返回的所有非重复值。
使用 EXCEPT,以下查询将返回由 EXCEPT 操作数左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。
使用 INTERSECT,此查询将返回由 INTERSECT 运算符左侧和右侧的查询都返回的所有非重复值。INTERSECT 运算符优先于 EXCEPT。
举例:删除重复记录
TEMP表中主要字段有两个: ID1和ID2, 其中ID1为主键, 而ID2也要求不能重复(即候补主键)
DELETE TEMP
WHERE (ID2, ID1) IN
(SELECT ID2, ID1 FROM TEMP
EXCEPT
SELECT ID2, MIN(ID1) FROM TEMP GROUP BY ID2)
EXCEPT 和 INTERSECT 运算符使您可以比较两个或多个 SELECT 语句的结果并返回非重复值。
EXCEPT 运算符返回由 EXCEPT 运算符左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。
INTERSECT 返回由 INTERSECT 运算符左侧和右侧的查询都返回的所有非重复值。
使用 EXCEPT,以下查询将返回由 EXCEPT 操作数左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。
使用 INTERSECT,此查询将返回由 INTERSECT 运算符左侧和右侧的查询都返回的所有非重复值。INTERSECT 运算符优先于 EXCEPT。
举例:删除重复记录
TEMP表中主要字段有两个: ID1和ID2, 其中ID1为主键, 而ID2也要求不能重复(即候补主键)
DELETE TEMP
WHERE (ID2, ID1) IN
(SELECT ID2, ID1 FROM TEMP
EXCEPT
SELECT ID2, MIN(ID1) FROM TEMP GROUP BY ID2)
浙公网安备 33010602011771号