SQL 기본요소 - 집합 연산자와 ROWNUM

이승범·2024년 9월 15일

집합 연산자

각 컬럼 위치의 자료형이 동일하면 가능
컬럼 개수와 위치가 같아야함

SELECT 컬럼명 FROM 테이블명 WHERE 조건식(표현식)
	UNION
SELECT 컬럼명 FROM 테이블명 WHERE 조건식(표현식)
-- UNION : 합집합, 중복 데이터 한번만 출력

SELECT 컬럼명 FROM 테이블명 WHERE 조건식(표현식)
	UNION ALL
SELECT 컬럼명 FROM 테이블명 WHERE 조건식(표현식)
-- UNION ALL : 합집합, 중복 데이터 모두 출력

SELECT 컬럼명 FROM 테이블명 WHERE 조건식(표현식)
	MINUS
SELECT 컬럼명 FROM 테이블명 WHERE 조건식(표현식)
-- MINUS : 차집합, 중복 데이터 제거

SELECT 컬럼명 FROM 테이블명 WHERE 조건식(표현식)
	INTERSECT
SELECT 컬럼명 FROM 테이블명 WHERE 조건식(표현식)
-- INTERSECT : 교집합, 중복데이터만 출력

ROWNUM

쿼리의 결과로 나오는 각 행들의 순서 값
rownum을 이용하여 반환하는 행수를 제어할 수 있음
양의 정수보다 큰 rownum 값에 대한 조건 테스트는 항상 거짓이다
ORDER BY 절이 있는 곳에서는 ROWNUM 사용 X

SELECT 컬럼 FROM 테이블명 WHERE ROWNUM < n
-- 앞에서부터 n개만 출력

SELECT * FROM (
	SELECT ROWNUM [별명] 내부 쿼리 별칭.*FROM (
    SELECT 컬럼 FROM 테이블명 [ORDER BY...]
) 내부 쿼리 별칭 WHERE ROWNUM <= 10
) WHERE ROWNUM 별명 >= 6;
-- ROWNUM 이용하여 6~10번째 데이터 출력
profile
creative

0개의 댓글