UNION操作符
UNION操作符返回两个查询的结果集的并集,去除重复记录。
例子:
查询部门编号>90或邮箱包含a的员工信息
select *
from employees
where email like '%a%'
or
department_id > 90;
# 或者
select *
from employees
where email like '%a%'
union
select *
from employees
where department_id > 90;
UNION ALL操作符
UNION ALL操作符返回两个查询的结果集的并集。对于两个结果集的重复部分,不去重。
例子:
查询中国用户中男性的信息以及美国用户中年男性的用户信息
select id, cname
from t_chinamale
where csex like '男'
union all
select id, tname
from t_usmale
where tGender = 'male';
注意:
执行UNION ALL语句时所需要的资源比UNION语句少。如果明确知道合并数据后的结果数据不存在重复数据,或者不需要去除重复的数据,则尽量使用UNION ALL语句,以提高数据查询的效率。