조건문
MySQL에서 조건문에 해당하는 IF, CASE WHEN에 대해 정리한다.
IF
첫 번째 매개변수로 전달된 조건이 참이면 두 번째 매개변수로 전달된 값을 반환한다. 거짓이면 세 번째 매개변수로 전달된 값을 반환한다.
IF(condition, value_if_true, value_if_false)
세 개의 매개 변수 전부 필수값이다.
예시 )
SELECT IF(500<1000, 5, 10);
CASE ~ WHEN ~
조건에 따라 다른 출력을 만드는 데 사용된다.
CASE
WHEN 조건 THEN '반환 값'
WHEN 조건 THEN '반환 값'
ELSE 'WHEN 조건에 해당 안되는 경우 반환 값'
END
# 예시
SELECT OrderID, Quantity,
CASE WHEN Quantity > 30 THEN 'The quantity is greater than 30'
WHEN Quantity = 30 THEN 'The quantity is 30'
ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;
JAVA의 Switch Case문과 비슷한데, WHEN과 THEN은 쌍을 이루어야 하며 여러 번 사용할 수 있다. 마지막의 ELSE는 모든 조건을 만족하지 않을 때 출력되는 기본값이다.
참고 문서
https://www.w3schools.com/sql/func_mysql_if.asp
https://www.w3schools.com/sql/sql_ref_case.asp