조건문은 “만약에 이렇다면 저렇게 해라”라는 논리를 코드로 만드는 거야.
현실에서 조건문은 매일 쓰이고 있어! 예를 들면:
- “만약 비가 오면 우산을 챙긴다”
- “시험 점수가 90점 이상이면 A학점”
이런 논리를 코딩에서 표현할 때 **if
**와 **case when
**을 사용해.
1. if
문 – 조건에 따라 하나의 작업을 수행할 때
if
문은 아주 단순해.
“만약 조건이 참이면 이 작업을 해!”라는 뜻이야.
형식
SELECT
column_name,
IF(조건식, 참일 때 값, 거짓일 때 값) AS new_column
FROM table_name;
예시 1: 성적 분류하기
어떤 학생의 점수가 80점 이상이면 “합격”, 그렇지 않으면 “불합격”이라고 분류해보자.
SELECT
name,
score,
IF(score >= 80, '합격', '불합격') AS result
FROM students;
설명
IF(score >= 80, '합격', '불합격')
→ “만약 점수가 80 이상이면 ‘합격’, 아니면 ‘불합격’”- 실행 결과:namescoreresult홍길동85합격김영희75불합격
2. CASE WHEN
– 여러 조건을 다룰 때
CASE WHEN
은 “만약 이 조건이면 이 값을 주고, 또 다른 조건이면 저 값을 줘” 이렇게 여러 조건을 다룰 때 써.
형식
SELECT
column_name,
CASE
WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
ELSE 결과3
END AS new_column
FROM table_name;
예시 2: 학점 매기기
학생 점수에 따라 학점을 매겨보자:
- 90점 이상: A
- 80점 이상: B
- 70점 이상: C
- 그 외: F
SELECT
name,
score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'F'
END AS grade
FROM students;
설명
CASE
는 여러 조건을 순서대로 확인해.WHEN score >= 90 THEN 'A'
→ “90점 이상이면 ‘A’”ELSE 'F'
→ 위 조건에 해당하지 않으면 ‘F’
실행 결과
name | score | grade |
---|---|---|
홍길동 | 95 | A |
김영희 | 82 | B |
이철수 | 74 | C |
박민준 | 60 | F |
if
vs case when
차이점
구분 | IF | CASE WHEN |
---|---|---|
사용 용도 | 단일 조건 처리 | 여러 조건 처리 |
복잡도 | 간단하고 짧은 조건문 | 복잡하고 여러 조건을 다룰 때 사용 |
가독성 | 조건이 적으면 깔끔하고 보기 좋음 | 조건이 많아도 논리적으로 정리 가능 |
마무리: 언제 써야 할까?
IF
→ 조건이 하나일 때! (심플하게 끝내고 싶을 때)CASE WHEN
→ 여러 조건을 단계별로 나눠 처리할 때!
이제 점수 계산, 매출 분류, 사용자 행동 분석 등 다양한 상황에서 써먹을 수 있어!
연습해보면서 익히면 금방 마스터할 거야. 🔥
답글 남기기