개발 개념 정리/SQL

[SQL] DISTINCT - 중복된 값 제거

개발하는 몽키 2025. 3. 20. 15:21

DISTINCT 키워드

  • 중복된 값을 제거할때 사용한다.
  • 예를들어 tSite에 회원가입된 사용자들의 지역 목록을 가져올때 사용할 수 있다. 

[ tSite 테이블 ]

NAME AGE REGION
김영희 23 서울
이철수 18 대전
오미자 33 대전
안지혁 20 부산
박지수 27 강원

 

SELECT DISTINCT region FROM tSite;
REGION
서울
대전
부산 
강원

 

SQL Server vs Oracle 중복 처리방식 차이

SQL Server는 DISTINCT를 적용할 때 자동으로 정렬을 수행하면서 중복을 제거한다.

Oracle은 DISTINCT를 적용할 때 별도로 정렬하지 않고, 단순히 중복만 제거한다.

=> 중복 제거 후 순서를 정렬하기 위해선 ORDER BY를 쓰는 습관을 들이는게 좋다고 생각한다. 

 

 

COUNT함수에서의 DISTINCT 사용

위의 tSite 예제에서 고유한 지역의 개수를 알고싶다면

SELECT COUNT(DISTINCT REGION) AS "중복되지 않은 지역의 수" FROM tSite;

 

중복되지 않은 지역의 수
4