SQL, DISTINCT 사용법 (중복 값 제거)
- Database
- 2023. 4. 25.
DISTINCT는 SQL에서 중복을 제거한 값을 얻고 싶을 때 SELECT문과 함께 사용합니다.
DISTINCT
예시 1) distinct를 사용하는 이유
예를 들어, 회사 직원 정보를 담은 employees 테이블에 아래와 같은 데이터가 있습니다.
이때 회사의 직책(position)별로 인원을 파악하고 싶으면 distinct를 사용해 중복되지 않은 직책만 조회할 수 있습니다.
SELECT DISTINCT position FROM employees;
만약 distinct를 사용하지 않으면 중복된 직책이 결과에 포함됩니다. 이처럼 중복된 값을 제거한 결과를 얻고 싶을 때 사용할 수 있습니다.
SELECT position FROM employees;
예시 2) 여러 컬럼에 distinct 사용
여러 컬럼에 대해 중복을 제거해서 조회하고 싶을 때도 distinct를 사용할 수 있습니다. 예를 들어, 아래와 같이 고유한 position과 department에 대해 조회할 수 있습니다.
SELECT DISTINCT position, department FROM employees;
결과를 보면 알 수 있듯 distinct를 여러 컬럼에 사용하면 고유한 '조합'을 반환합니다. position 컬럼에 Analyst 값과 department 컬럼에 IT 값이 각 2번 나오는 것을 보고 언뜻 중복이 제거된 게 맞나 싶을 수 있지만, 자세히 보면 position과 department로 만들 수 있는 고유한 조합을 출력하는 것을 확인할 수 있습니다.
예시 3) count와 함께 사용한 distinct
count와 distinct를 함께 사용하면 중복이 제거된 값의 개수를 조회할 수 있습니다.
employees 테이블에서 순수하게 직책(position)의 개수를 조회하려면 아래와 같이 쿼리를 실행하면 됩니다.
SELECT COUNT(DISTINCT position) FROM employees;
반응형
'Database' 카테고리의 다른 글
SQL, where 절 연산자 및 조건 정리 (0) | 2023.04.26 |
---|---|
SQL, limit 사용법 (select 열 제한) (0) | 2023.04.26 |
리눅스 DB 자동 삭제 스크립트 만들기 (0) | 2023.04.22 |
MYSQL, Client does not support authentication protocol requested by server 에러 해결 (0) | 2023.04.17 |
MYSQL, GRANT 사용법 (권한 부여) (0) | 2023.04.16 |