DISTINCT란 중복제거 키워드입니다. SELECT로 Database에서 컬럼을 조회할 때, 중복되는 값을 제거하고 조회할 때 사용합니다. 즉, DISTINCT 키워드를 붙인 필드(컬럼)는 중복 값을 합쳐 한 번만 출력합니다.
-- 테이블에서 필드에 대해 중복제외하여 출력
SELECT DISTINCT 필드 FROM 테이블
아래와 같이 name(도시이름)컬럼과 region(지역이름)컬럼에 중복이 있는 테이블이 있습니다.
| name | area | popu | region |
|---|---|---|---|
| 오산 | 42 | 21 | 경기 |
| 오산 | 205 | 65 | 경기 |
| 서울 | 605 | 221 | 경기 |
| 서울 | 442 | 321 | 경기 |
| 부산 | 142 | 231 | 경상 |
| 춘천 | 422 | 111 | 강원 |
qeury
-- tCity 테이블에서 region컬럼에 대해 중복 제거하여 출력
SELECT DISTINCT region FROM tCity;
result
| region |
|---|
| 경기 |
| 경상 |
| 강원 |
DISTINCT 뒤에 2개 이상의 컬럼을 사용하면, DISTINCT 뒤에 오는 모든 컬럼에 대해 하나의 행으로 인식하여, 그 행의 중복을 제거합니다.
query
-- tCity 테이블에서 region, name 컬럼 합쳐서 중복인 행을 제거합니다.
SELECT DISTINCT region, name FROM tCity;
result
| region | name |
|---|---|
| 경기 | 오산 |
| 경기 | 서울 |
| 경상 | 부산 |
| 강원 | 춘천 |