1. CASE WHEN


CASE는 SQL에서 조건 분기를 만드는 표준 문법 JAVA의 switch/if-else 처럼 조건에 따라 다른 값을 컬럼처럼 만들어 사용

1) 형태


(1) 검색 CASE

 CASE
  WHEN 조건1 THEN 값1
  WHEN 조건2 THEN 값2
  ELSE 기본값
END

(2) 단순 CASE

CASE 컬럼
  WHEN 값1 THEN 결과1
  WHEN 값2 THEN 결과2
  ELSE 기본값
END

2) CASE WHEN 기본 예시


Ex) 반납 상태 컬럼 만들기

SELECT
  id, member, book_id,
  CASE
    WHEN return_date IS NULL THEN 'RENTING'
    ELSE 'RETURNED'
  END AS rent_status
FROM rentals;

Ex) 기간에 따른 등급 분류

SELECT
  id,
  CASE
    WHEN rent_date >= '2025-01-01' THEN 'NEW'
    WHEN rent_date >= '2024-01-01' THEN 'RECENT'
    ELSE 'OLD'
  END AS period_grade
FROM rentals;

3) CASE WHEN + GROUP BY