LeetCode - Count Salary Categories
➔ 계정(ACCOUNTS) 테이블에서 소득(INCOME)을 기준으로 분류한 뒤, 각 범주에 해당하는 계정 수를 출력하라.
소득이 한 건도 없는 카테고리도 0으로 표시되어야 함.
🔑 핵심
먼저 카테고리 분류를 위한 SALARY 테이블을 직접 만들고
ACCOUNTS 테이블의 데이터를 CASE 문으로 분류
LEFT JOIN으로 모든 카테고리를 유지하면서 매칭된 계정 수를 계산
WITH SALARY AS (
SELECT 'High Salary' AS CATEGORY
UNION ALL
SELECT 'Average Salary'
UNION ALL
SELECT 'Low Salary'
),
ACCOUNTS_SORTED AS (
SELECT CASE
WHEN INCOME > 50000 THEN 'High Salary'
WHEN INCOME >= 20000 THEN 'Average Salary'
ELSE 'Low Salary' END AS CATEGORY
FROM ACCOUNTS
)
SELECT S.CATEGORY, COUNT(A.CATEGORY) AS ACCOUNTS_COUNT
FROM SALARY S LEFT JOIN ACCOUNTS_SORTED A
ON S.CATEGORY = A.CATEGORY
GROUP BY S.CATEGORY
💡 핵심 문법 및 배운 점