개발 개념 정리/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 |