728x90
중복 데이터를 확인하는 방법
1. GROUP BY 절과 HAVING 절을 사용하는 방법
(예시)
1 2 3 4 5 | SELECT EMP_NAME, COUNT(1) AS CNT FROM EMP WHERE DEPT_NO = '1000' GROUP BY EMP_NAME HAVING COUNT(1) > 1 |
[GROUP BY]
- 집계 함수와 상수가 함께 SELECT 되는 경우, GROUP BY 절에 상수를 추가하면 된다.
[HAVING]
- 집계함수는 HAVING 절에서 조건을 비교한다.
- WHERE절에서는 집계 함수를 사용할 수 없다.
- HAVING 절은 GROUP BY 절과 함께 사용한다.
2. DISTINCT를 사용하는 방법
(예시1 - 중복을 제거한 데이터를 출력)
1 2 3 | SELECT DISTINCT EMP_NAME FROM EMP WHERE DEPT_NO = '1000' |
(예시2 - 중복을 제거한 데이터의 갯수를 출력)
1 2 3 | SELECT COUNT(DISTINCT EMP_NAME) FROM EMP WHERE DEPT_NO = '1000' |
[DISTINCT]
- 주로 UNIQUE한 데이터를 조회하는 데 사용한다.
- GROUP BY 와 같은 결과를 반환, 집계함수가 사용되지 않을 경우에는 DISTINCT를 사용하는 것이 유용하다.
- DBMS 엔진 내에서 데이터에 대해 정렬 연산을 사용하므로, 출력된 순서가 알파벳 순으로 정렬된다.
반응형