資料庫SQL實戰

2021-08-04 23:03:06 字數 777 閱讀 9544

獲取當前(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)

資料庫SQL實戰

無emp no birth date first name last name gender hire date 10008 1958 02 19 saniya kalloufi m1994 09 15 示例1無 無 select from employeesorder byhire datedes...

資料庫SQL實戰

找出所有員工當前 to date 9999 01 01 具體的薪水salary情況,對於相同的薪水只顯示一次,並按照逆序顯示 create table salaries emp no int 11 not null,salary int 11 not null,from date date not ...

資料庫SQL實戰

查詢所有員工的last name和first name以及對應的dept name,也包括暫時沒有分配部門的員工 create table departments dept no char 4 not null,dept name varchar 40 not null,primary key de...