[MSSQL] 조건문(IF)과 반복문(WHILE) (+continue, break)

728x90

 

안녕하세요. 오늘은 라이프사이클 재무에 대한 모든 것_글라이드 유튜브 강의를 듣고 참고하여 MSSQL의 조건문과 반복문에 대해 포스팅을 작성하도록 하겠습니다.

 

 

조건문(IF...ELSE)

주어진 조건에 따라 SQL 쿼리를 실행할지 말지를 결정함. 특정 조건이 참 또는 거짓일 때 각각 다른 쿼리를 실행하고자 할 때 유용함!

 

조건문 문법

-- IF 문을 이용해 선언된 변수가 짝인지 홀인지 알려주는 코드
IF <조건문>
BEGIN
    <sql_query1> -- 조건이 참일 때 실행
END
ELSE
BEGIN
    <sql_query2> -- 조건이 거짓일 때 실행
END

 

예시

DECLARE @i INT = 110
IF @i % 2 = 0
BEGIN
    PRINT N'짝수'
END
ELSE
    PRINT N'홀수'
END

 

 

반복문(WHILE)

조건이 만족되는 동안 SQL 쿼리를 반복해서 실행. 루프 내에서 SQL 쿼리를 반복적으로 실행해야 할 때 사용함

 

반복문 문법

WHILE <조건문>
BEGIN
    <sql_query1>
    <sql_query2 | BREAK | CONTINUE>
END

 

예시

-- WHILE 문을 이용하여 1에서 100까지의 값을 더하는 코드
DECLARE @i INT = 1
DECLARE @added BIGINT = 0
WHILE (@i <= 100)
BEGIN
    SET @added = @added + @i
    SET @i = @i + 1
END

PRINT @ADDED;

 

 

CONTINUE & BREAK

반복문 내에서 CONTINUE와 BREAK 키워드를 사용하여 루프의 흐름을 제어할 수 있음

CONTINUE

  • 루프의 현재 반복을 건너뛰고 다음 반복을 즉시 시작함
  • 주로 IF 조건문과 결합하여 사용함

BREAK

  • 현재 반복을 종료하고 루프를 완전히 빠져나감
  • 주로 IF 조건문과 결합하여 사용함

 

예시

-- WHILE문에 CONTINUE와 BREAK를 넣어 코드 작성
DECLARE @i INT = 1
DECLARE @added BIGINT = 0

WHILE (@i <= 100)
BEGIN
    IF @i % 9 = 0
    BEGIN
        PRINT CAST(@i AS VARCHAR) + N' : 9의 배수입니다.'
        SET @i = @i + 1
        CONTINUE
    END
    
    IF @added >= 3000
    BEGIN
        PRINT N'@ADDED가 ' + CAST(@added AS VARCHAR) + N'값이 되어 종료합니다.'
        BREAK
    END
    
    SET @added = @added + @i
    SET @i = @i + 1
END;

 

 

 

 

728x90