C.W.K.
Stream
Lesson 08 of 10 · published

CASE WHEN — 조건 표현

~10 min · sql, case, conditional

Level 0Scout
0 XP0/80 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

SQL 의 if/elif/else

CASE WHEN 이 SELECT list 안의 유일한 조건 표현. 두 모양:

  • Simple CASE: CASE col WHEN v1 THEN r1 WHEN v2 THEN r2 ELSE r3 END — 단일 컬럼 동등 비교.
  • Searched CASE: CASE WHEN cond1 THEN r1 WHEN cond2 THEN r2 ELSE r3 END — 임의 boolean 조건. 더 유연, 90% 이거 쓸 거야.
Tip: 집계 안의 CASE 가 엄청 강력 — sum(CASE WHEN status='paid' THEN total END) 가 subquery 없이 조건 sum. 거의 모든 보고용 query 에 등장하는 패턴.

Code

Derived 컬럼용 CASE·sql
SELECT id, role,
       CASE
         WHEN role = 'admin'      THEN 'priority'
         WHEN role = 'moderator'   THEN 'support'
         ELSE 'standard'
       END AS tier
FROM users;
집계 안 CASE — query 한 번에 pivot·sql
SELECT brain,
       sum(CASE WHEN role = 'user'      THEN 1 END) AS user_msgs,
       sum(CASE WHEN role = 'assistant' THEN 1 END) AS assistant_msgs
FROM   messages
GROUP  BY brain;

External links

Exercise

messages 테이블에서 single query: brain 마다 한 row, 컬럼 3 개 — total, user, assistant message — SUM 안 CASE WHEN. 그리고 4 번째 컬럼: total count 기준 'busy' / 'normal' / 'quiet' 로 brain 분류.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.