IF
- 음식 타입이 'Korean'일 때는 '한식', 'Korean'이 아닌 경우에는 '기타'
- 주소의 시·도 중 '경기도'는 '경기도'로, '경기도'가 아닌 경우는 앞의 두 글자만 사용하고 싶을 때
- 음식의 단가를 주문 수량이 1일 때는 음식 가격, 주문 수량이 2개 이상일 때는 음식가격/주문수량으로 계산하기
if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)
(마치 삼항연산자같은ㅎㅎㅎ)
사용예시)
SELECT restaurant_name,
cuisine_type "원래 음식 타입",
IF(cuisine_type='Korean', '한식', '기타') "음식 타입"
FROM food_orders
SELECT addr "원래 주소",
IF(addr like '%평택군%', REPLACE(addr, '문곡리', '문가리'), addr) "바뀐 주소"
FROM food_orders
WHERE addr like '%문곡리%'
평택군 문곡리만 문가리로 바꾸기
CASE
IF문을 여러번 쓴 효과를 낼 수 있음
CASE WHEN 조건1 THEN 값(수식)1
WHEN 조건2 THEN 값(수식)2
ELSE 값(수식)3
END
사용예시)
SELECT restaurant_name,
cuisine_type "원래 음식 타입",
CASE WHEN (cuisine_type='Korean') THEN '한식'
WHEN(cuisine_type='Japanese') THEN '아시안'
WHEN(cuisine_type='Chinese') THEN '아시안'
ELSE '기타'
END AS "음식 타입"
FROM food_orders
food_orders 테이블에서 Korean은 한식, Japanes, Chinese는 아시안, 다른 음식들은 기타로 '음식 타입'열에 넣기
'SQL' 카테고리의 다른 글
SQL - JOIN(필요한 데이터가 서로 다른 테이블에 있을 때) (0) | 2024.11.26 |
---|---|
SQL - Subquery(여러번의 연산 수행) (2) | 2024.11.24 |
SQL - REPLACE, SUBSTRING, CONCAT(문자 포맷 가공하기) (0) | 2024.11.22 |
SQL - ORDER BY (오름차순, 내림차순) (0) | 2024.11.21 |
SQL - GROUP BY (범주별 연산) (0) | 2024.11.21 |