UNION用法

#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要求列数和类型都相同。

 

posted @ 2021-10-20 15:14  钟心意  阅读(130)  评论(0)    收藏  举报