SELECT emp.deptno FROM emp GROUP BY emp.deptno HAVING max(emp.empno) > (SELECT min(emp.empno) FROM emp);
时间: 2024-02-11 08:54:21 浏览: 173
在MySQL中创建Oracle中的dept、emp、salgrade表
这是一个 SQL 查询语句,它的作用是找出在 emp 表中,有至少两个雇员的 empno 值,其中一个雇员的 empno 值是其所在部门的最大值,而另一个雇员的 empno 值是其所在部门的最小值。具体的解释如下:
首先,使用 GROUP BY 子句按照 deptno 对 emp 表进行分组。然后,在 HAVING 子句中,使用 max(empno) > (SELECT min(empno) FROM emp) 条件,筛选出满足条件的分组。其中,max(empno) 表示当前分组中的最大 empno 值,而 (SELECT min(empno) FROM emp) 表示整个 emp 表中的最小 empno 值。如果当前分组的最大 empno 值大于整个 emp 表中的最小 empno 值,则认为该分组满足条件。最后,使用 SELECT 子句选择出满足条件的分组的 deptno 值。
简单来说,这个查询语句的目的是找出在同一个部门中,有至少两个雇员的 empno 值,其中一个是该部门的最大值,另一个是该部门的最小值。
阅读全文