# 子查询排序limit取第二id
# select s.emp_no, salary, last_name, first_name
# from employees e, salaries s
# where salary = (
# select salary
# from salaries
# group by salary
# order by salary desc
# limit 1 offset 1
# ) and e.emo_no = s.emp_no;
# 同上
# SELECT s.emp_no, s.salary, e.last_name, e.first_name
# FROM emp_no e
# JOIN salaries s ON e.emp_no = s.emp_no
# WHERE s.salary = (
# SELECT salary
# FROM salaries
# GROUP BY salary
# ORDER BY salary DESC
# LIMIT 1 OFFSET 1
# );
# 子查询排除最大值再取最大值id
select s.emp_no, salary, last_name, first_name
from employees e, salaries s
where salary = (
select max(salary)
from salaries
where salary <> (
select max(salary)
from salaries
)
) and e.emp_no = s.emp_no;
# 子查询小于最大值再取最大值
# select s.emp_no, salary, last_name, first_name
# from employees e, salaries s
# where salary = (
# select max(salary)
# from salaries
# where salary < (
# select max(salary)
# from salaries
# )
# ) and e.emp_no = s.emp_no;
# 子查询,salaries表自连接查询,取满足条件的记录
# select s.emp_no, s.salary, e.last_name, e.first_name
# from salaries s join employees e
# on s.emp_no = e.emp_no
# where s.salary = (
# select s1.salary
# from salaries s1 join salaries s2
# on s1.salary <= s2.salary
# group by s1.salary
# having count(distinct s2.salary) = 2
# );