题解 | 获取当前薪水第二多的emp_no以及其对应的薪水
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
https://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719
select
empsal.empno as emp_no,
empsal.salary as salary,
empsal.lastname as last_name,
empsal.firstname as first_name
from
(
select
emp.emp_no as empno,
sal.salary as salary,
emp.last_name as lastname,
emp.first_name as firstname
from
employees as emp
join salaries as sal on emp.emp_no = sal.emp_no
) as empsal,
(select
max(salary) as secondSalary
from
salaries
where
salary != (
select
max(salary)
from
salaries
)) as ss
where empsal.salary = ss.secondSalary;
需要那么麻烦吗?
select max(salary) as secondSalary from salaries where salary != ( select max(salary) from salaries );
这不就获得第二多的工资的值了?
查看8道真题和解析