Sql 列出第30部门工资最高的员工姓名
列出第30部门工资最高的员工姓名Sql 列出第30部门工资最高的员工姓名,sql,Sql,列出第30部门工资最高的员工姓名 SQL> SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL IN (SELECT MAX(SAL) FROM EMP) AND EMP.DEPTNO = 30; 未选择任何行 假设看起来像: DEPTNO ENAME SAL ---------- ---------- ---------- 30 BLAKE 285
SQL> SELECT DEPTNO, ENAME, SAL
FROM EMP
WHERE SAL IN (SELECT MAX(SAL) FROM EMP)
AND EMP.DEPTNO = 30;
未选择任何行
假设看起来像:
DEPTNO ENAME SAL
---------- ---------- ----------
30 BLAKE 2850
您的查询是选择30部门中总体薪资最高的所有员工
在内部查询和外部查询中都需要条件:
SELECT e.DEPTNO, e.ENAME, e.SAL
FROM EMP e
WHERE e.SAL = (SELECT MAX(e2.SAL)
FROM EMP e2
WHERE e2.DEPTNO = e.DEPTNO
) AND
e.DEPTNO = 30;
子查询称为相关子查询,因为
其中
条件链接到外部查询。请将表架构添加到问题中,如果可能,请添加示例数据。
SELECT e.DEPTNO, e.ENAME, e.SAL
FROM EMP e
WHERE e.SAL = (SELECT MAX(e2.SAL)
FROM EMP e2
WHERE e2.DEPTNO = e.DEPTNO
) AND
e.DEPTNO = 30;