-
DISTINCT 키워드 마스터하기 : SQL에서 유니크한 값만 추출하기🐬 MySQL/MySQL 키워드 2024. 12. 1. 18:43728x90
2024.12.01 - [데이터베이스/MySQL 실습문제] - LIKE , LIMIT, DISTINCT, CASE문키워드를 이용한 연습문제 각각 5개씩
SQL DISTINCT : 중복 제거의 마법
SQL에서 매우 유용한 키워드인 DISTINCT에 대해 알아보겠습니다.
DISTINCT는 결과 집합에서 중복된 행을 제거하는 간단하면서도 강력한 도구입니다.
DISTINCT란 무엇인가요?
DISTINCT 키워드는 SELECT 문에서 사용되며, 결과에서 중복된 행을 제거합니다.
쉽게 말해, "이 열에서 서로 다른 값들만 보여주세요"라고 요청하는 것과 같습니다.
기본 사용법
DISTINCT의 가장 기본적인 형태는 이렇습니다.
SELECT DISTINCT column_name FROM table_name;
실사용 예시
고유한 도시 목록 추출하기
SELECT DISTINCT city FROM customers;
이 쿼리는 고객 테이블에서 중복 없는 도시 목록을 불러옵니다.
여러 열에 DISTINCT 적용하기
SELECT DISTINCT country, city FROM customers;
이 쿼리는 국가와 도시의 고유한 조합을 불러옵니다.
NULL 값 처리
SELECT DISTINCT COALESCE(department, 'Unassigned') AS department FROM employees;
이 쿼리는 부서 목록을 불러오며, NULL 값은 'Unassigned'로 대체합니다.
DISTINCT의 고급 활용
COUNT와 함께 사용하기
SELECT COUNT(DISTINCT product_category) AS unique_categories FROM products;
이 쿼리는 제품 카테고리의 고유한 개수를 불러옵니다.
서브쿼리에서 사용하기
SELECT * FROM orders WHERE customer_id IN ( SELECT DISTINCT customer_id FROM customers WHERE country = 'USA');
이 쿼리는 미국 고객의 주문만 불러옵니다.
GROUP BY와의 차이점
SELECT DISTINCT department, COUNT(*) OVER (PARTITION BY department) AS emp_count FROM employees;
DISTINCT는 결과 집합 전체에 적용되지만, GROUP BY는 각 그룹에 대해 하나의 행을 불러옵니다.
이 쿼리는 각 부서와 해당 부서의 직원 수를 불러옵니다.
주의사항
- 성능 : 대량의 데이터에서 DISTINCT는 시간이 오래 걸릴 수 있습니다.
- 정렬 : DISTINCT는 결과를 정렬하지 않습니다. 정렬이 필요하면 ORDER BY를 사용하세요.
- 모든 열에 적용 : DISTINCT는 SELECT 문에 나열된 모든 열의 조합에 적용됩니다.
728x90'🐬 MySQL > MySQL 키워드' 카테고리의 다른 글
SQL LIKE로 데이터 찾기 : SQL 문자열 검색의 핵심 (0) 2024.12.01 SQL LIMIT : 효율적인 데이터 검색의 열쇠 (0) 2024.12.01 SQL ORDER BY: 데이터 정렬의 마법사 (1) 2024.11.29 SQL 키워드 마스터하기: 데이터베이스 쿼리의 핵심 요소 (0) 2024.11.29 SQL GROUP BY: 데이터 집계의 핵심 키워드 (0) 2024.11.28