[데이터리안 | 입문반25기] Week 2 조건문 CASE, IF()

sookyoung.k·2024년 1월 21일
0
post-thumbnail

저장된 데이터를 조건에 따라 변형 및 추출하기 위해 사용

✔️ DB에 저장된 값이 수정되는 것은 아니다

📍 CASE 조건문

SELECT
  *,
  CASE
    WHEN (조건을 줄 컬럼명) [조건] THEN (조건 값)	-- when then 조건문은 항상 같이 쓰여야 함
    ELSE (조건 값)	-- when then을 충족하지 않을 때의 값
  END (별칭)	-- 조건문 결과값
FROM
  (테이블명);

✔️ 조건이 1개인 경우

♟️ CASE 문 뒤에 WHEN-THEN은 항상 같이 쓰여야 한다!
♟️ 비교연산자를 WHEN-THEN 조건에 모두 사용할 수 있다
♟️ ELSE를 반드시 써줘야 하는 것은 아니다! (문법적으로 반드시 필요한 것은 아님)
➡️ 이 경우 ELSE에 해당하는 값이 전부 NULL을 출력하기 때문에 의도한 것이 아니라면 써주기!

✔️ 조건이 2개 이상인 경우

SELECT
  *,
  CASE
    WHEN (조건을 줄 컬럼명) [조건] THEN (조건 값)	
    WHEN (조건을 줄 컬럼명) [조건] THEN (조건 값)	
    ELSE (조건 값)	
  END (별칭)
FROM
  (테이블명);

😀 WHEN-THEN 조건이 필요한 만큼 두 번, 세 번 사용하면 된다!

♟️ CASE문의 특성상 가장 위에 있는 조건부터 데이터에 적용을 한다 (이미 적용된 값들을 빼고 다음 조건문을 실행한다) 중복 필터링을 하지 않는다!

✔️ CASEGROUP BY 함께 사용하기

SELECT
  CASE
    WHEN (조건문 걸 컬럼) [비교연산자] () THEN (결과)
    ELSE (나머지 결과)
  END AS (조건문 컬럼 별칭),
  (다른 컬럼명)
FROM
  (테이블)
GROUP BY
  (조건문 컬럼 별칭)

😀 위와 같이 CASE문의 결과값을 GROUP BY 함수의 기준으로 넣어서 사용이 가능하다

📍 IF() 함수 조건문

IF('조건', '조건이 참일 때 반환하는 값', '조건이 거짓일 때 반환하는 값')

CASE문과 매우 비슷!
→ 주로 값을 나누는 조건이 하나일 때 사용한다

😀 조건이 여러개라면 그냥 CASE를 쓰는 것이 나음!

profile
영차영차 😎

0개의 댓글