데이터베이스에서 중복된 데이터를 제거하고 고유한 값만 추출하는 것은 매우 중요한 작업입니다. SQL의 DISTINCT
문은 이를 위한 강력한 기능을 제공합니다. 이번 포스팅에서는 DISTINCT
에 대해 자세히 살펴보겠습니다.
DISTINCT란?
DISTINCT
는 SQL 쿼리에서 중복된 행을 제거하고 고유한 값만을 반환하는 키워드입니다. 즉, 테이블의 특정 열(또는 열들)에 대해 중복을 제거하여 고유한 값들을 추출할 수 있습니다.
DISTINCT 사용 방법
DISTINCT
는 SELECT
문과 함께 사용됩니다. 기본적인 사용 방법은 다음과 같습니다:
SELECT DISTINCT column1, column2, ...
FROM table_name;
이 쿼리는 table_name
테이블에서 column1
, column2
등의 열들에 대해 중복을 제거한 고유한 값들을 반환합니다.
예를 들어, 다음과 같은 테이블 users
가 있다고 가정해 봅시다:
id | name | |
---|---|---|
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
는 전체 행을 비교하여 중복을 제거합니다. 즉, 모든 열의 값이 동일한 경우에만 중복으로 간주됩니다.DISTINCT
는NULL
값을 포함하여 중복 제거를 수행합니다. 따라서NULL
값도 고유한 값으로 간주됩니다.DISTINCT
는 중복 제거 후 결과 집합의 순서를 보장하지 않습니다. 즉, 원본 테이블의 순서와 다를 수 있습니다.DISTINCT
는 복잡한 쿼리에서도 사용할 수 있습니다. 예를 들어SELECT DISTINCT column1, column2 FROM table;
과 같이 두 개 이상의 열을 지정할 수 있습니다.
DISTINCT 활용 예시
DISTINCT
는 다음과 같은 경우에 유용하게 사용될 수 있습니다:
- 고유한 값 찾기: 특정 열의 고유한 값을 추출하여 분석하거나 보고서를 작성할 때 사용할 수 있습니다.
- 중복 데이터 제거: 데이터 정리 및 중복 제거 작업에
DISTINCT
를 활용할 수 있습니다. - 집계 함수와 함께 사용:
COUNT(DISTINCT column)
등의 방식으로 고유한 값의 개수를 세는 데 사용할 수 있습니다.
이처럼 DISTINCT
는 SQL 쿼리에서 매우 유용한 기능을 제공합니다. 중복 데이터 제거, 고유한 값 추출 등의 작업에 DISTINCT
를 적극적으로 활용해 보세요.
'SQL' 카테고리의 다른 글
[SQL 실전 팁] REPLACE로 안전하게 데이터 일괄 수정하기 (0) | 2024.11.16 |
---|---|
SQL 기본 문법 (0) | 2024.11.12 |
SQL : 외래 키 제약 조건(FOREIGN KEY) (2) | 2024.11.08 |