범주별로 값을 구할 때 GROUP BY 를 썼던 것 처럼, 조건도 범주별로 다른 연산을 적용할 수 있도록 SQL이 제공한다.
1. IF
- 조건에 따라 다른 방법을 적용하고 싶을 때 사용한다.
- 구조 : IF(조건, 조건을 충족하는 경우, 조건을 충족하지 못하는 경우)
SELECT restaurant_name,
cuisine_type "원래 음식 타입",
IF(cuisine_type='Korean', '한식', '기타') "음식 타입"
FROM food_orders

- IF는 SELECT, WHERE, ORDER BY에서 사용할 수 있다.
2. CASE
- 조건을 여러가지 지정하고 싶을 때 사용한다.
- 구조 : CASE WHEN 조건1 THEN 값(수식)1
WHEN 조건2 THEN 값(수식)2
....
ELSE 값(수식)3 END 컬럼명
SELECT order_id,
price,
quantity,
case when quantity=1 then price
when quantity>=2 then price/quantity end "음식 단가"
FROM food_orders

- CASE는 SELECT, WHERE, GROUP BY, ORDER BY에서 사용할 수 있다.
'MySql' 카테고리의 다른 글
| [내일 배움 카드 4-2] Subquery란? (0) | 2025.03.24 |
|---|---|
| [내일 배움 캠프 3-7] Data Type 오류 + 3주차 숙제 (0) | 2025.03.24 |
| [내일 배움 캠프 3-2] 필요한 포맷대로 SQL 가공하기(REPLACE, SUBSTRING, CONCAT) (0) | 2025.03.22 |
| [MySQL] SQL 실행 순서 + 2주차 숙제 (0) | 2025.03.22 |
| [MySQL]집계 함수란? (0) | 2025.03.22 |