场景:如果有查询结果则返回结果,否则为null
技术:可以把SQL变成临时表查询,放置SELECT ()中
例子:查询并返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null
SQL:SELECT
SELECT
(SELECT DISTINCT
Salary
FROM
Employee
ORDER BY Salary DESC
LIMIT 1 OFFSET 1) AS SecondHighestSalary;
PS:也可以使用内置IFNULL()函数
SELECT
IFNULL(
(SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1 OFFSET 1),
NULL) AS SecondHighestSalary;