쿼리문 CASE WHEN , IF

김대운·2023년 8월 11일
0

study

목록 보기
7/7

쿼리 CASE WHEN , IF

CASE WHEN

CASE WHEN은 T-SQL의 조건부 식으로, 주로 SELECT 문, UPDATE 문, 그리고 집계 함수 내에서 사용되어 참조하는 칼럼에 따른 결과 값을 동적으로 조정할 수 있습니다.

CASE WHEN 구문의 기본 구조는 다음과 같습니다.

sql

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    [ELSE resultN]
END

예를 들어, 회원 등급을 기준으로 할인율을 다르게 적용하는 쿼리는 다음과 같이 작성할 수 있습니다:

sql

SELECT
    MemberName,
    MembershipGrade,
    Price * (1 - (CASE
        WHEN MembershipGrade = 'Gold' THEN 0.1
        WHEN MembershipGrade = 'Silver' THEN 0.05
        ELSE 0
    END)) AS DiscountedPrice
FROM
    Members;

IF

IF문은 T-SQL 작업의 제어 흐름을 구현하는데 사용되며, 프로시저나 함수, 배치 작업, 트리거 등에서 주로 사용됩니다. 일반적인 프로그래밍 언어의 IF-THEN-ELSE 구조와 유사하게 작동합니다.

IF문의 기본 구조는 다음과 같습니다.

sql

IF condition
BEGIN
-- Statements if condition is TRUE
END
ELSE
BEGIN
-- Statements if condition is FALSE
END

예를 들어, 주문 테이블(OrderTable)의 특정 주문(OrderID)에 대한 합계 금액(TotalAmount)이 1000 이상이면, 주문 상태를 'High Value'로 업데이트하는 경우 다음과 같이 작성할 수 있습니다:

sql

DECLARE @TotalAmount DECIMAL(10, 2);

SELECT @TotalAmount = TotalAmount
FROM OrderTable
WHERE OrderID = 1;

IF (@TotalAmount >= 1000)
BEGIN
    UPDATE OrderTable
    SET OrderStatus = 'High Value'
    WHERE OrderID = 1;
END
ELSE
BEGIN
    PRINT 'Order amount is not high enough.';
END

결론적으로, CASE WHEN은 주로 쿼리 결과 값에 조건에 따라 변화를 주는 데 사용되며, IF문은 T-SQL 작업 내에서 실행 흐름 제어를 위해 사용됩니다.

0개의 댓글