SQL의 DISTINCT 키워드는 쿼리 결과 집합에서 중복 행을 제거하는 데 사용됩니다. 쿼리가 지정된 열에 대해 고유한 레코드만 반환하도록 합니다.
SELECT 쿼리가 데이터를 검색할 때 출력에 중복된 행이 있을 수 있습니다. DISTINCT 키워드를 추가하면 SQL은 이러한 중복 항목을 필터링하여 지정된 열에 있는 각각의 고유한 값 조합을 한 번만 유지합니다.
SELECT DISTINCT column1, column2, ... FROM table_name;
테이블을 고려해보세요. 직원:
EmployeeID | Department |
---|---|
1 | HR |
2 | IT |
3 | HR |
4 | Sales |
쿼리:
SELECT DISTINCT Department FROM Employees;
Department |
---|
HR |
IT |
Sales |
여기서 부서 열의 중복 항목을 제거합니다.
OrderID | CustomerID | ProductID |
---|---|---|
101 | 1 | A |
102 | 1 | B |
103 | 1 | A |
104 | 2 | C |
쿼리:
SELECT DISTINCT CustomerID, ProductID FROM Orders;
CustomerID | ProductID |
---|---|
1 | A |
1 | B |
2 | C |
여기서 DISTINCT는 CustomerID와 ProductID의 조합을 기반으로 중복 행을 필터링합니다.
고유한 가치를 찾으려면:
하나의 컬럼 또는 컬럼 조합의 고유값을 모두 알고 싶을 때.
예: 인벤토리의 모든 개별 제품 카테고리 나열.
중복 제거:
분석이나 보고에 결과 집합의 중복 행이 필요하지 않은 경우
예: 직원 데이터베이스에서 고유한 부서 이름 가져오기.
데이터 정리용:
중복을 제거하여 깨끗한 데이터 세트를 준비하는 데 도움이 됩니다.
성능에 미치는 영향:
SQL이 중복 항목을 필터링하기 위해 행을 스캔하고 비교해야 하므로 DISTINCT를 사용하면 특히 대규모 데이터 세트에서 쿼리 속도가 느려질 수 있습니다.
조건부 중복 제거에는 적합하지 않음:
조건부 중복 제거(예: 각 고유 값에 대해 최신 행 유지)를 원하는 경우 ROW_NUMBER()와 같은 다른 기술이 필요합니다.
DISTINCT 키워드는 SQL 쿼리 결과에서 중복 행을 제거하는 간단하면서도 강력한 도구입니다. 출력에 고유한 값만 포함되므로 데이터 보고 및 분석 작업에 이상적입니다. 그러나 성능과 정확성의 균형을 맞추려면 신중하게 사용하세요.
위 내용은 SQL DISTINCT 마스터하기: 중복 제거를 간단하게 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!