集合运算
SQL作用在关系上的union、intersect、except 运算,对应于数学集合论中的并集、交集、差集运算。
并集union
unionunion 关键字能够将两个或多个select 语句的结果连接起来。
(SELECT …)
UNION
(SELECT …)union 自动消除结果集中的重复记录。为了获得所有的记录行,可以用union all 取代每个union 实例。
union 一般用于:
多个表中有相似的信息,并且需要从这些表中立刻获取记录。
需要从同一个表中获取几组记录,但是表现每组的条件并不容易写在一个单个的
where子句里。
示例:查询课程信息表中第5学期和第6学期的课程名称
(select CName from Course_info where Term=5)
union
(select CName from Course_info where Term=6)等价写法:
select CName from Course_info where Term=5 or Term=6交集intersect
intersect用法和union 一样,只是结果取交集。
差集except
except用法和union 相同,只是结果取差集。
关于NULL
NULL如果有一个操作数的结果是
NULL,则大多数运算符的求值结果也是NULL。当
NULL值表达式在函数中被用于操作数时,运算符将产生NULL。where子句中也有相同的情况,where子句会丢弃那些条件不是TRUE的记录。
Last updated