말랑말랑제리스타일

오라클 1부터 10까지 출력하는 방법 본문

데이터베이스/Oracle SQL

오라클 1부터 10까지 출력하는 방법

제리제리 2022. 6. 24. 16:07

오라클 SQL을 사용하다 보면 종종 따로 테이블에 없는 숫자를 출력하거나 조회해야 되는 경우가 있죠.

아래 쿼리로 오라클에서 1부터 10까지의 숫자를 출력할 수 있습니다.

오라클 1부터 10까지 출력하는 쿼리

반응형
SELECT LEVEL AS NUM FROM DUAL
CONNECT BY LEVEL <= 10;

간단히 출력하는 쿼리에 대한 설명을 덧붙이면 LEVEL에는 1부터 시작해서 정수 단위로 1씩 증가하는 숫자가 들어가게 됩니다. 여기서 10보다 작다는 조건을 걸어서 1부터 10까지의 숫자를 하나의 테이블로 출력하게 되는 거죠.

쿼리 응용

반응형

위 쿼리를 약간 응용해서 0부터 10까지 출력하고자 한다면 SELECT 절과 CONNECT BY 절을 약간 수정해주면 됩니다.

SELECT LEVEL - 1 AS NUM FROM DUAL
CONNECT BY LEVEL - 1 <= 10;

LEVEL - 1이 10보다 작을 때까지 1씩 증가시키고 LEVEL - 1을 출력하기 때문에 최종적으로 0부터 10까지를 출력하게 되는 거죠.

100까지 숫자를 출력하고 싶다면 10 대신 100을 입력하면 1부터 100까지 출력이 가능하고 LEVEL < 0과 같이 출력할 건수가 없다면 1만 출력하게 됩니다.

LEVEL에 * 2를 걸어주면 2씩 증가하는 숫자 테이블을 만들 수도 있고 다양한 방식으로 응용이 가능하죠.

반응형

이 방법을 다양한 방식으로 사용할 수 있겠지만 개인적으로 가장 많이 사용하는 경우는 바로 CROSS JOIN인데요.

카티션 프로덕트 방식으로 조인하기 때문에 따로 조인 키가 필요 없기 때문에 필요한 데이터를 원하는 횟수만큼 출력할 때 아주 유용합니다.

반응형
Comments