#UNION合并查询结果集
#案例:查询工作岗位是MANAGER和SALESMAN的员工
SELECT
ENAME,job
FROM
EMP
WHERE
job = 'MANAGER' or job = 'SALESMAN'; # JOB in('MANAGER','SALESMAN');
SELECT ENAME,job FROM EMP WHERE JOB = 'MANAGER'
UNION
SELECT ENAME,job FROM EMP WHERE JOB = 'SALESMAN';
#UNION的效率高一些。对于表连接来说,每连接一次表,则匹配的次数满足笛卡尔积
#UNION可以减少匹配的次数。在减少匹配的次数的情况下,还可以完成两个结果集的拼接
/** a连接 b 连接 c
a 10条记录
b 10条记录
c 10条记录
匹配次数是:1000
a 连接 b一个结果:10*10-->100次
a 连接 c一个结果:10*10-->100次
使用UNION的话是:100次+100次=200次。(UNION把乘法变成了加法)
*/
#UNION使用的注意事项
# UNION在进行结果集合并的时候,要求两个结果集的列数相同。
# MySQL中可以拼接数据类型不同的,但是ORACLE不可以,ORACLE要求列数和类型都相同。