Database

[MySQL] 조건문 (IF, CASE WHEN)

비번변경 2022. 6. 17. 15:39

조건문

MySQL에서 조건문에 해당하는 IF, CASE WHEN에 대해 정리한다.

 

 

IF

첫 번째 매개변수로 전달된 조건이 참이면 두 번째 매개변수로 전달된 값을 반환한다. 거짓이면 세 번째 매개변수로 전달된 값을 반환한다.

IF(condition, value_if_true, value_if_false)

세 개의 매개 변수 전부 필수값이다.

 

예시 )

SELECT IF(500<1000, 5, 10);

MySQL IF

 

 

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는 모든 조건을 만족하지 않을 때 출력되는 기본값이다.

CASE WHEN

 

 

참고 문서

https://www.w3schools.com/sql/func_mysql_if.asp

https://www.w3schools.com/sql/sql_ref_case.asp