[sql] INTERSECT 연산자를 사용한 결과 데이터 정렬 방법

INTERSECT 연산자는 두 개의 SELECT 문의 결과에서 중복된 값을 반환하는데 사용됩니다. 하지만 INTERSECT 연산자는 결과를 정렬하지 않기 때문에, 원하는 정렬 순서대로 결과를 반환하기 위해서는 몇 가지 추가 작업을 해줘야 합니다.

아래 예시를 통해 INTERSECT 연산자 결과를 정렬하는 방법을 알아보겠습니다.

-- 예시 테이블 생성
CREATE TABLE table1 (
  id INT,
  value VARCHAR(10)
);

CREATE TABLE table2 (
  id INT,
  value VARCHAR(10)
);

-- 예시 데이터 삽입
INSERT INTO table1 (id, value) VALUES (1, 'Apple');
INSERT INTO table1 (id, value) VALUES (2, 'Banana');
INSERT INTO table1 (id, value) VALUES (3, 'Cherry');
INSERT INTO table1 (id, value) VALUES (4, 'Durian');

INSERT INTO table2 (id, value) VALUES (3, 'Cherry');
INSERT INTO table2 (id, value) VALUES (4, 'Durian');
INSERT INTO table2 (id, value) VALUES (5, 'Elderberry');
INSERT INTO table2 (id, value) VALUES (6, 'Fig');

-- INTERSECT 연산자를 사용하여 중복된 값을 조회하고 정렬하기
SELECT id, value FROM table1
INTERSECT
SELECT id, value FROM table2
ORDER BY id ASC;

위의 예시에서는 INTERSECT 연산자를 사용하여 table1과 table2의 id와 value가 중복된 값을 조회하고 있습니다. 그리고 마지막으로 ORDER BY 절을 사용하여 id를 기준으로 오름차순으로 결과를 정렬하고 있습니다.

결과는 다음과 같이 반환될 것입니다:

id | value
---|-------
3  | Cherry
4  | Durian

위의 예시에서는 id를 기준으로 정렬했지만, 필요에 따라 다른 열을 기준으로 정렬할 수도 있습니다. ORDER BY 절의 인자를 바꾸어 원하는 정렬 순서를 지정하면 됩니다.

위의 예제를 참고하면서 INTERSECT 연산자를 사용한 결과 데이터 정렬 방법에 대해 이해하실 수 있을 것입니다.

참고 자료: