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

2024. 10. 25. 14:05·SQL
반응형

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

DISTINCT란?

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

DISTINCT 사용 방법

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

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

DISTINCT 활용 예시

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

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

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

저작자표시 비영리 변경금지 (새창열림)

'SQL' 카테고리의 다른 글

데이터베이스 정규화(Normalization)  (1) 2024.11.21
[SQL 실전 팁] REPLACE로 안전하게 데이터 일괄 수정하기  (0) 2024.11.16
SQL 기본 문법  (0) 2024.11.12
SQL : 외래 키 제약 조건(FOREIGN KEY)  (2) 2024.11.08
'SQL' 카테고리의 다른 글
  • 데이터베이스 정규화(Normalization)
  • [SQL 실전 팁] REPLACE로 안전하게 데이터 일괄 수정하기
  • SQL 기본 문법
  • SQL : 외래 키 제약 조건(FOREIGN KEY)
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (658)
      • 상품 추천 (164)
      • MongoDB (4)
      • 하드웨어 (11)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (12)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    appdevelopment
    learntocode
    programmerlife
    programming101
    unity
    리뷰관리
    codingcommunity
    리스트
    codingtips
    상품 리뷰 크롤링
    devlife
    리뷰이관
    C#
    라떼우유
    ipcamera
    Python
    쇼핑몰리뷰
    유니티
    cv2
    긴유통기한우유
    믈레코비타멸균우유
    스크립트 실행 순서
    파이썬
    스크립트 실행
    스마트스토어리뷰
    셀레니움
    rtsp
    list
    카페24리뷰이관
    카페24리뷰
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
SQL의 DISTINCT 문: 중복 제거와 고유 값 추출
상단으로

티스토리툴바