본문 바로가기
DBMS/Oracle

[SQL] 중복 제거 / DISTINCT / GROUP BY

by 성은2 2020. 11. 23.

DISTINCT와 GROUP BY는 뒤에 기술하는 열에 대해 중복을 배제한다는 점에서는 동일한 처리를 한다.

 

예를 들어 다음 두 구문은 동일한 결과를 출력한다.

 

SELECT DISTINCT goods_classify FROM Goods;

 

SELECT goods_classify FROM Goods GROUP BY goods_classify;

 

동일 한 것 

1. 결과

2. null을 하나의 행으로 간주함

3. 복수 열을 사용하는 결과도 같음

 

다만, 어떤 것을 사용할지의 고민은 해당구문의 의미에서 찾아서 여부를 결정해야 한다. 

 

'선택 결과에서 중복을 제외' 하고 싶다면 DISTINCT

'집약한 결과를 구하고 싶다'면 GROUP BY