數據庫SQL實戰


題目描述

獲取當前(to_date='9999-01-01')薪水第二多的員工的emp_no以及其對應的薪水salary
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

輸入描述:

輸出描述:

  
emp_no salary
10009 94409

方法1:考察limit函數的理解

select emp_no, salary
from salaries
where to_date = '9999-01-01'
order by salary desc limit 1,1 #limit 1,1 表示從最后一個記錄往前取一個記錄


方法2:如果最高工資不止一個,則用limit 1,1 取到的就還是最高的工資,而不是第二高的工資

select emp_no, max(salary)
from salaries
where to_date = '9999-01-01'
and salary < (select max(salary) from salaries)












注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: