
CASE WHEN을 3개 따로 쓰고 있었다...
-- ❌ 이렇게 쓰면 안 됨!
CASE WHEN score >= 90 THEN 'A' END
CASE WHEN score >= 80 THEN 'B' END
CASE WHEN score < 80 THEN 'C' END
CASE 3개가 아니라 1개로 합쳐야 한다!
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
ELSE 'C'
END AS grade
CASE WHEN은 순차 처리!
위에서 걸리면 아래는 검사 안 함!
| score | 첫 번째 WHEN | 두 번째 WHEN | 결과 |
|---|---|---|---|
| 95 | ✅ >= 90 | 검사 안 함 | A |
| 85 | ❌ | ✅ >= 80 | B |
| 70 | ❌ | ❌ | C (ELSE) |
.
.
.
.
.
결론: 알잘딱하게 하면 된다!!! 정답 없음!
CASE WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
ELSE 'C'
END AS grade
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
ELSE 'C'
END AS grade
둘 다 OK! 정답 없음! 읽기 편한 대로!
회사마다 코딩 컨벤션이 다름!
정해진 룰이 있으면 그거 따르고, 없으면 읽기 편하게!
채점은 실행 결과만 봄!
들여쓰기 때문에 감점? 절대 없음!그러니까 진짜 알잘딱! 😎
.
.
.
.
.
.
.
-- 각각 독립! 범위 명시 필수!
COUNT(CASE WHEN amount < 50000 THEN 1 END) AS bronze,
COUNT(CASE WHEN amount >= 50000 AND amount < 100000 THEN 1 END) AS silver,
COUNT(CASE WHEN amount >= 100000 THEN 1 END) AS gold
-- 순차 처리! 하나로 합치기!
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
ELSE 'C'
END AS grade
| 상황 | 방법 |
|---|---|
| 등급 1개 매기기 | CASE 하나로! (순차 처리) |
| 등급별 COUNT | CASE 여러 개! (각각 독립) |
| 들여쓰기 | 자유! 읽기 편한 대로! |
CASE 하나 vs 여러 개, 상황에 맞게! 💪
