Database/Oracle

[Oracle] 중복 제거 distinct와 group by 비교

JiWonSon 2020. 12. 30. 22:07

아래의 예제는 동일한 결과를 반환한다.

 

DISTINCT사용

SELECT DISTINCT DEPTNO FROM EMP;

 

GROUP BY사용

SELECT DEPTNO FROM EMP GROUP BY DEPTNO;

 

 

그러면 GROUP BY와 DISTINCT의 기능은 무슨 차이가 날까?

 

집계함수를 사용하여 특정 그룹으로 구분할 때는 GROUP BY절을 사용하고,

정 그룹 그분없이 중복된 데이터를 제거할 경우에는 DISTINCT절을 사용한다.

 

기능면에서 차이가 있으니 성능면에서도 DISTINCT가 더 빠르다고 볼 수 있다.

따라서 정렬기능이 필요없는 작업에서는 DISTINCT를 사용해주는 것이 좋다.