결과 중복을 제거하고 중복이 생긴 구조적 원인을 찾습니다.
DISTINCT는 SELECT한 열 조합이 같은 행을 하나로 줄입니다. 조인 키가 잘못되어 중복이 생겼다면 DISTINCT로 가리기보다 관계와 조인 조건을 고쳐야 합니다.
고유성이 업무 규칙이라면 조회 때 제거하는 대신 UNIQUE 제약조건으로 입력 단계에서 보장합니다.
DISTINCT는 정렬이나 해시 비용을 만들 수 있어 습관적으로 붙이지 않습니다.
DISTINCT가 SELECT 절의 모든 컬럼 조합을 기준으로 중복을 제거한다는 동작은 SQL 표준이라 엔진에 관계없이 동일합니다.
DISTINCT name은 이름이 같은 다른 사람도 합치므로 식별자와 표시값을 구분하세요.
직접 바꿔보세요주문 고객 id의 고유 목록과 도시의 고유 목록을 각각 조회하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.