MSSQL에서 'IF ELSE'문은 조건에 따라 특정 코드를 실행하거나 건너뛰는데 사용됩니다. 특정 조건을 충족하는 경우 다른 작업을 수행하도록 지시할 수 있습니다. 다른 개발 프로그램과 사용방법은 같지만 구문 다릅니다. 짧은 조건절에서는 IF ELSE 문을 사용해도 되지만 길어지만 가독성이 떨어지므로 CASE문을 사용하는걸 추천드립니다.
IF ELSE 구문
다음은 'IF ELSE'구문의 기본 구조입니다.
IF 조건
BEGIN
--조건이 참일 경우 실행되는 코드
END
ELSE
BEGIN
--조건이 거짓일 경우 실행되는 코드
END
'IF ELSE' 구문헤서는 'IF' 조건이 참이면 첫 번째 블록인 IF 조건 아래 BEGIN 쪽으로 실행이 되고, 그렇지 않다면 'ELSE'블록 아래 BEGIN으로 실행이 됩니다. IF ELSE 예제는 아래에서 설명하겠습니다.
IF ELSE 예제
위의 데이터로 예를 들어보겠습니다. 위의 데이터 중 직원 급여가 1500보다 큰 직원 이름과 급여를 출력하고 싶다면 다음과 같이 'IF ELSE' 구문을 사용할 수 있습니다.
IF ELSE 쿼리
IF(SELECT MAX(pay_amount) FROM employee>1700
BEGIN
SELECT name
, job_title
, pay_amount
FROM employee
where pay_amount>1700
END
ELSE
BEGIN
PRINT('No employees earn more than 1700')
END
이 예제에서는 'IF'조건으로 'SELECT MAX(pay_amount) FROM employee > 1700'을 사용합니다. 이 쿼리에서는 'employees' 테이블에서 가장 높은 급여가 1700보다 큰지 여부를 확인합니다. 만약 참이면, 'IF'문 안에 있는 'BEGIN' 블록에 있는 'SELECT' 문이 실행이 되어 pay_amount가 1700보다 큰 직원이 이름과 직급, 이름이 출력됩니다. 그렇지 않다면 'ELSE'문 블록 내의 BEGIN 아래의 PRINT문 내의 문장이 출력됩니다.
IF ELSE 결과
IF...ELSE(Transact-SQL) - SQL Server
Transact-SQL 문에서 제어 흐름을 제공하는 IF-ELSE 문의 Transact-SQL 언어 참조입니다.
learn.microsoft.com
댓글