MySQL13 - UNION 合并结果集

UNION 合并查询结果集

例子:查询工作岗位是 MANAGER 和 SALESMAN 的员工

SELECT ename,job FROM emp where job = 'manager' or job = 'salesman';
SELECT ename,job FROM emp where job in('manager','salesman');

使用UNION

SELECT ename,job FROM emp where job = 'manager'
UNION
SELECT ename,job FROM emp where job = 'salesman';

相比表连接操作,UNION效率高,每次 JOIN 所有记录都会参与匹配,匹配次数成倍增长,

UNION可以在减少匹配次数的情况下,完成结果集的拼接。

注意事项:

  • 两个结果集列数相同 -- UNION是表的上下拼接
  • 列的字段不同:MySQL允许,Oracle报错 -- 要求列数与列的含义都相同
posted @ 2023-01-07 15:23  LaViez  阅读(71)  评论(0)    收藏  举报