数据库查询-UNION的合并规则
来源:4-6 数据操作语言:表连接查询(三)
stonesun1314
2022-11-09 10:39:01
SELECT d.dname,COUNT(e.deptno) FROM t_dept d LEFT JOIN t_emp e ON d.deptno=e.deptno GROUP BY d.deptno UNION SELECT d.dname,COUNT(*) FROM t_dept d RIGHT JOIN t_emp e ON d.deptno=e.deptno GROUP BY d.deptno;
老师,这段SQL有疑问,UNION左侧的表的字段是
COUNT(e.deptno)
右侧查询出来的字段是
COUNT(*)
两个表的字段和名称不一样,结果也不一样,查询出来的如下:
UNION是按什么规则合并的,UNION两侧的查询结果不一致如何合并的?
1回答
好帮手慕小尤
2022-11-09
同学你好,1、UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列,类型不必完全相同,但是必须可以隐式转换,每条 SELECT 语句中的列的顺序必须相同。
2、同学查询语句已经满足了相同数量的列,列数据类型一致,使用从而导致将字段合并。
祝学习愉快!
相似问题