SQL编程-查找当前薪水排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by

18.查找当前薪水排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by

题目内容:

SQL编程-查找当前薪水排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by_第1张图片

SQL编程-查找当前薪水排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by_第2张图片

 

代码及思路:

从不是最高薪水的员工中找薪水最高的,就是薪水第二高的。

SELECT employees.emp_no,Max(salaries.salary),employees.last_name,employees.first_name
FROM employees INNER JOIN salaries
ON employees.emp_no=salaries.emp_no
WHERE salaries.to_date='9999-01-01'
AND salaries.salary NOT IN(SELECT MAX(salaries.salary) FROM salaries);

 

你可能感兴趣的:(MySQL学习记录)