본문 바로가기
BackEnd/DB, SQL

SQL 21편: 조건 제어문(IF, CASE), 반복 제어문(LOOP)

by summer_light 2022. 1. 19.

조건 제어문

1. IF 조건문

종류 설명
IF-THEN 특정 조건을 만족하는 경우 수행
IF-THEN-ELSE 특정 조건을 만족하는 경우와 반대 경우에 각각 지정한 작업 수행
IF-THEN-ELSIF 여러 조건에 따라 각각 지정한 작업 수행

 

1) IF-THEN

IF 조건식 THEN

수행할 문장;

END IF;

 

 

2) IF-THEN-ELSE

IF 조건식 THEN

수행할 문장;

ELSE

수행할 문장;

END IF;

 

 

3) IF-THEN-ELSIF

IF 조건식 THEN

수행할 문장;

ELSIF 조건식

수행할 문장;

ELSIF

수행할 문장;

...

ELSE

수행할 문장;

END IF

 

 

 

2. CASE 문

IF-THEN-ELSIF 문과 같이 조건식의 결과 값이 여러가지 일 때, CASE문을 사용하면 더욱 단순하게 표현할 수 있다.

 

1) 단순 CASE문

CASE 비교 기준

WHEN 값1 THEN

수행할 문장;

WHEN 값2 THEN

수행할 문장;

...

ELSE

수행할 문장;

END CASE

 

 

2) 검색 CASE문

비교 기준 없이 각각의 WHEN절에서 조건식을 이용한다. 그러므로 정해진 비교 기준으로만 조건을 나눌 수 있는 단순 CASE문보다는 비교적 다양한 조건식을 사용할 수 있다는 이점이 있다. 

CASE 

WHEN  조건식1 THEN

수행할 문장;

WHEN 조건식2 THEN

수행할 문장;

...

ELSE

수행할 문장;

END CASE

 

 

 

 


반복 제어문

1. 반복문 종류와 중단 명령어

1) 반복문 종류

LOOP 기본 반복
WHILE LOOP 특정 조건동안 반복
FOR LOOP 반복 횟수동안 반복
Cursor FOR LOOP 커서를 활용한 반복

 

2) 반복 수행 중단/건너뛰기 명령어

EXIT 수행 중인 반복 종료
EXIT-WHEN 조건식을 만족하면 반복 종료
CONTINUE 현재 주기를 건너 뜀
CONTINUE-WHEN 조건식을 만족하면 현재 반복 주기를 건너 뜀

 

 

 

2. 반복문 형식 정리

1) LOOP

EXIT 명령어 없이는 무한 반복이 되기 때문에 주로 EXIT 명령어와 함께 사용한다. 

 

LOOP

수행할 문장;

END LOOP;

 

 

2) WHILE LOOP

조건식의 결과가 true 일 때 조건을 반복하고 false 가 되면 반복을 끝낸다.

 

WHILE 조건식 LOOP

수행할 문장;

END LOOP

 

 

3) FOR LOOP

현재 숫자가 저장되는 특수한 변수인 카운터 i를 이용하여 반복한다.

카운터는 값을 임의로 할당할 수 없고 현재 저장되어 있는 값을 참조만 할 수 있다.

역순으로 반복하고 싶다면 IN 뒤에 REVERSE 키워드를 사용한다.

 

FOR i IN REVERSE 시작값 .. 종료값 LOOP

수행할 문장;

END LOOP

 

 

4) CONTINUE, CONTINUE-WHEN

반복 수행 중 CONTINUE가 실행되면 현재 반복 주기에 수행해야 할 남은 작업을 건너뛰고 다음 반복 주기로 바로 넘어가는 효과가 있다. 오라클 11G 버전부터 사용할 수 있다. 

 

FOR i IN REVERSE 시작값 .. 종료값 LOOP

수행할 문장;

END LOOP

 

 

 

 

 

 

'BackEnd > DB, SQL' 카테고리의 다른 글

SQL 22편: 커서  (0) 2022.01.23
SQL 22편: 레코드와 컬렉션  (0) 2022.01.20
SQL 20편: PL/SQL 기초(블록, 변수와 상수 정의하기)  (0) 2022.01.18
SQL 19편: 사용자, 권한, 롤 관리  (0) 2022.01.16
SQL 18편: 제약 조건  (0) 2022.01.15

댓글