mysql에서도 조건문을 지원한다. 특정 컬럼의 값에 따라 다른 출력 결과를 보여줘야 할 상황에 쓰면 유용하다.
if문:
if(조건문, 참일때 값, 거짓일 때 값(선택))
예시: select if(required, 'true', 'false') from table;
if문 속에 if문을 중첩시킬 수 있다.
예시: select if(required, if(required1, 'true1', false1'), if(required2, 'true2', false2')) from table;
case문:
case-when문은 여러개의 조건을 한번에 묶어서 표현할 수 있다.
when에는 조건을 적고 then에는 조건에 일치하는 결과를 적으면 된다.
SELECT
CASE
WHEN permission_type_id = 1
THEN '관리자'
WHEN permission_type_id = 2
THEN '판매자'
ELSE '일반 유저'
END
예제:
SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE, '%Y-%m-%d'),
CASE
WHEN OUT_DATE <= '2022-05-01' THEN "출고완료"
WHEN OUT_DATE > '2022-05-01' THEN "출고대기"
WHEN OUT_DATE IS NULL THEN "출고미정"
END AS "출고여부"
FROM FOOD_ORDER ORDER BY ORDER_ID
번외:ifnull
ifnull은 해당 컬럼의 로우가 null일 때 대체할 값을 반환하는 함수이다.
SELECT IFNULL(column_name, '대체할 값') FROM [table_name];
'내일배움캠프' 카테고리의 다른 글
3진법 뒤집기 (0) | 2024.05.31 |
---|---|
최대공약수와 최소공배수 구하기 (0) | 2024.05.31 |
행렬 간 덧셈 (0) | 2024.05.28 |
Java의 정규표현식 (0) | 2024.05.27 |
Spring 숙련주차 Part3 (0) | 2024.05.24 |