題目要求:
給定乙個表employee, 有兩個欄位id, salary,要求顯示表中薪水第二的資料.如果沒有第二高, 顯示為null
mysql:
select
ifnull(
(select distinct(salary)
from employee
order by salary desc
limit 1 ,1
),null
) as secondhighestsalary
解析:
mysql的考點:
1. limit m,n : 查詢結果記錄的index是從0開始, 表示第一條記錄, 這裡的m=1為從第一條開始.n表示在限制條數之後的offset記錄.
limit 1,1意味著從查詢結果裡的第index=1個位置從後往前取1條記錄.
2. ifnull(exp,value):如果exp的結果為空, 則返回value.否則結果為exp計算的結果.
解題思路: 先將查詢結果倒序排序, 再從結果裡選擇index=1的顯示1條, 如果沒有這樣的記錄, 則顯示null.
在雇員表中查詢第二高的工資SQL語句助記
在雇員表中查詢第二高的工資的員工記錄 sql語句怎麼寫 這個查詢首先查詢最高工資,然後將它從列表中排除。再查詢最高工資。非常明顯,第二次返回的是第二高工資。select top 1 from employee where salary not int select max salary from e...
第二高的薪水(SQL查詢語句)
編寫乙個 sql 查詢,獲取employee表中第二高的薪水 salary id salary 1 100 2 200 3 300 例如上述employee表,sql查詢應該返回200作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回null。secondhighestsalary 200 答...
sql語句(第二高)
編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水 salary id salary 1 100 2 200 3 300 例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。secondhighestsalar...