题解 | 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
https://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719
SELECT
em.emp_no,
sa.salary,
em.last_name,
em.first_name
FROM
employees em
JOIN salaries sa USING (emp_no)
WHERE
salary in (
SELECT
MAX(salary)
FROM
salaries
WHERE
salary < (
SELECT
MAX(salary)
FROM
salaries
)
)
SELECT emp_no, salary, last_name, first_name
FROM(
SELECT em.emp_no, sa.salary, em.last_name, em.first_name,
DENSE_RANK() OVER(ORDER BY sa.salary DESC) rk
FROM employees em
JOIN salaries sa USING(emp_no)
) co
WHERE rk = 2;
查看20道真题和解析