[sql] UNION 연산자와 DISTINCT 키워드의 관계

일반적으로 SQL에서 데이터베이스로부터 데이터를 검색할 때 중복된 행을 제거하기 위해 DISTINCT 키워드를 사용합니다. UNION 연산자를 사용하여 두 개의 SELECT 문의 결과를 결합할 수도 있습니다.

DISTINCT 키워드

DISTINCT 키워드는 검색된 결과에서 중복된 행을 제거합니다. 즉, 결과 집합에 있는 중복 레코드를 하나로 압축하여 보여줍니다.

SELECT DISTINCT column1, column2
FROM table_name;

위의 SQL문은 table_name 테이블에서 column1column2의 중복을 제거한 결과를 반환합니다.

UNION 연산자

UNION 연산자는 두 개의 SQL 문의 결과를 결합하고 중복된 행은 하나로 표시합니다. 중복된 행을 포함한 결과를 반환하려면 UNION ALL을 사용할 수도 있습니다.

SELECT column1, column2
FROM table1
UNION
SELECT column1, column2
FROM table2;

위의 SQL문은 table1table2에서 선택된 결과를 결합하고 중복 행을 제거한 결과를 반환합니다.

UNIONDISTINCT를 함께 사용

UNION 연산자를 사용하면 중복된 행이 자동으로 제거되므로 DISTINCT 키워드를 추가로 사용할 필요가 없습니다.

SELECT column1, column2
FROM table1
UNION
SELECT column1, column2
FROM table2;

위의 SQL문은 중복된 행이 하나로 표시된 결과를 반환합니다. 이는 UNION 연산자가 중복된 행을 자동으로 처리했기 때문입니다.

따라서 UNION 연산자와 DISTINCT 키워드를 함께 사용할 필요는 없습니다.

이와 같이, UNION 연산자와 DISTINCT 키워드는 데이터베이스에서 데이터를 조회하고 처리할 때 유용한 도구이지만, 두 가지를 함께 사용하는 것은 중복된 작업을 수행하는 것과 같으므로 필요하지 않습니다.


참고 문헌: