组合查询
一、union操作符
功能:组合两个或多个select语句的结果,不包括重复的记录。
select column1 [ , column2 ]
from table1 [ ,table2 ]
[ where ]
union
select column1 [ , column2 ]
from table1 [ ,table2 ]
[ where ]
简单来说:使用union之后将两个select的结果放在一起来,但是重复的记录不会显示。
所以每个select语句里必须选择同样数量的字段、同样数量的字段表达式、同样的数据类型、同样的次序-----------但长度不必一样。
二、union all操作符
功能:组合两个select语句的结果,并且包括重复的结果。
· 与union区别,一个不返回重复值,一个返回重复值。
select column1 [ , column2 ]
from table1 [ ,table2 ]
[ where ]
union all
select column1 [ , column2 ]
from table1 [ ,table2 ]
[ where ]
三、intersect操作符
功能:组合两个select语句,但只返回第一个select语句里与第二个select语句里一样的记录,使用规则与union一样。
但目前mysql5.0不支持intersect,sqlserver和oracle全部支持。