본문 바로가기
TIL - 프로그래밍/SQL

[SQL] CASE문, IF문, IF함수 - 기본 구조, 예시

by chaemj97 2023. 7. 8.
728x90

CASE 문

기본 구조

CASE
    WHEN 조건1 THEN 결과1
    WHEN 조건2 THEN 결과2
    ...
    ELSE 결과
END

예시

  • 'orders' 테이블에서 'amount' 열의 값에 따라 3가지 레벨로 나타내는 경우
SELECT 
    amount,
    CASE
        WHEN amount < 1000 THEN 'Low'
        WHEN amount >= 1000 AND amount < 5000 THEN 'Medium'
        WHEN amount >= 5000 THEN 'High'
        ELSE 'Unknown'
    END AS amount_level
FROM orders;

 

IF 문

기본 구조

IF 조건 THEN
    실행문;
ELSEIF 조건 THEN
    실행문;
ELSE
    실행문;
END IF;

예시

  • 'customers' 테이블에서 'age' 열의 값에 따라 성인 또는 미성년자로 구분하기
CREATE FUNCTION f (age INT)
    RETURNS VARCHAR(20) DETERMINISTIC
BEGIN
    DECLARE RESULT VARCHAR(20);
    IF age >= 18 THEN
        SET RESULT = '성인';
    ELSE
        SET RESULT = '미성년자';
	END IF;
    RETURN RESULT;
END

SELECT f(AGE)
FROM customers;

 

IF 함수

기본 구조

IF(조건, 참일 때 값, 거짓일 때 값)

예시

  • 'products' 테이블에서 'stock' 열의 값이 0보다 크면 'In stock', 아니면 'Out of stock'을 반환
SELECT
    product_name,
    IF(stock > 0, 'In stock', 'Out of stock') AS stock_status
FROM products;
728x90
반응형

댓글