일반 SELECT를 사용하면 결과가 없는 경우는 아예 출력되지 않는다.
결과 값이 없는 경우에도 빈 테이블이 아닌 NULL
을 반환하고 싶다면, 다음과 같이 SELECT
절 안에 subquery를 넣는 중첩 SELECT 문을 사용해야 한다.
1
2
3
4
5
6
7
SELECT (
SELECT num
FROM MyNumbers
GROUP BY num
HAVING COUNT(*) = 1
ORDER BY num DESC LIMIT 1
) AS num;
1
2
3
4
5
6
SELECT (
SELECT DISTINCT salary
FROM Employee
ORDER BY salary DESC
LIMIT 1, 1
) AS SecondHighestSalary;