SQL

SQL의 DISTINCT 문: 중복 제거와 고유 값 추출

코샵 2024. 10. 25. 14:05
반응형

데이터베이스에서 중복된 데이터를 제거하고 고유한 값만 추출하는 것은 매우 중요한 작업입니다. SQL의 DISTINCT 문은 이를 위한 강력한 기능을 제공합니다. 이번 포스팅에서는 DISTINCT에 대해 자세히 살펴보겠습니다.

DISTINCT란?

DISTINCT는 SQL 쿼리에서 중복된 행을 제거하고 고유한 값만을 반환하는 키워드입니다. 즉, 테이블의 특정 열(또는 열들)에 대해 중복을 제거하여 고유한 값들을 추출할 수 있습니다.

DISTINCT 사용 방법

DISTINCTSELECT 문과 함께 사용됩니다. 기본적인 사용 방법은 다음과 같습니다:

SELECT DISTINCT column1, column2, ...
FROM table_name;

이 쿼리는 table_name 테이블에서 column1, column2 등의 열들에 대해 중복을 제거한 고유한 값들을 반환합니다.

예를 들어, 다음과 같은 테이블 users가 있다고 가정해 봅시다:

id name email
1 John john@example.com
2 Jane jane@example.com
3 John john@example.com
4 Bob bob@example.com

여기서 SELECT DISTINCT name FROM users; 쿼리를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

name
John
Jane
Bob

이처럼 DISTINCT를 사용하면 name 열에 대한 중복 값을 제거하고 고유한 이름 목록을 추출할 수 있습니다.

DISTINCT 사용 시 주의사항

  • DISTINCT는 전체 행을 비교하여 중복을 제거합니다. 즉, 모든 열의 값이 동일한 경우에만 중복으로 간주됩니다.
  • DISTINCTNULL 값을 포함하여 중복 제거를 수행합니다. 따라서 NULL 값도 고유한 값으로 간주됩니다.
  • DISTINCT는 중복 제거 후 결과 집합의 순서를 보장하지 않습니다. 즉, 원본 테이블의 순서와 다를 수 있습니다.
  • DISTINCT는 복잡한 쿼리에서도 사용할 수 있습니다. 예를 들어 SELECT DISTINCT column1, column2 FROM table;과 같이 두 개 이상의 열을 지정할 수 있습니다.

DISTINCT 활용 예시

DISTINCT는 다음과 같은 경우에 유용하게 사용될 수 있습니다:

  1. 고유한 값 찾기: 특정 열의 고유한 값을 추출하여 분석하거나 보고서를 작성할 때 사용할 수 있습니다.
  2. 중복 데이터 제거: 데이터 정리 및 중복 제거 작업에 DISTINCT를 활용할 수 있습니다.
  3. 집계 함수와 함께 사용: COUNT(DISTINCT column) 등의 방식으로 고유한 값의 개수를 세는 데 사용할 수 있습니다.

이처럼 DISTINCT는 SQL 쿼리에서 매우 유용한 기능을 제공합니다. 중복 데이터 제거, 고유한 값 추출 등의 작업에 DISTINCT를 적극적으로 활용해 보세요.