MySQL-Demos
难点:
第二高薪水 (distinct + limit + offset)
如果没有则返回 NULL (outer select)
select(selectdistinct SalaryfromEmployeeorder bySalary desc limit 1 offset 1)as SecondHighestSalary;-- orSELECT max(Salary)FROM EmployeeWHERE Salary < (SELECT max(Salary) FROM Employee)-- bad answerselectSalary as SecondHighestSalaryfromEmployeeorder bySalary desc limit 1 offset 1;-- 如果没有第二高的薪水,则返回空 "",使用 max 函数可以返回 NULL,outer select 在查询不到的时候也会返回空。如果第二高的薪水一定存在,则用 limit 最好