본문 바로가기
Web programming/SQL & DB

DISTINCT 절과 GROUP BY 절의 차이

by Skilly 2020. 4. 16.

 

DISTINCT 절과 GROUP BY 절 모두 테이블 SELECT 시, 조회 결과를 그룹으로 묶어서 그 결과를 가져오는 역활을 한다.

두 구절은 모두 그룹을 지어준다는 공통점이 있지만, 정렬의 유무에서 차이가 있다.
DISTINCT는 결과물을 정렬하지 않고, GROUP BY는 결과물을 정렬해서 표현한다!

 

따라서,

조회 결과를 그룹으로 묶어서 결과를 가져올 때 

정렬이 필요한 경우는 GROUP BY를,
정렬이 필요하지 않는 경우에는 DISTINCT절을 사용하면 된다.

 

 

문법 : 

--GROUP BY 
SELECT 칼럼 FROM 테이블 GROUP BY 칼럼명 

--DISTINCT 
SELECT DISTINCT 칼럼명 FROM 테이블명 
예제 : 테이블(MY_TABLE)에 나이(AGE)로 그룹을 지어 조회 

--GROUP BY 
SELECT AGE FROM MY_TABLE GROUP BY AGE 

--DISTINCT 
SELECT DISTINCT AGE FROM MY_TABLE   

 

 

DISTINCT : 데이터 조회 시, 중복된 내용은 제거하여 조회 

예제 : 문자열 이름에서 성씨 성만 조회하시오 (단, 데이터의 중복된 값은 제거)

SELECT DISTINCT SUBSTR(NAME, 0, 1), NAME FROM MEMBER

 

 

SUBSTR : 주어진 문자열에서 특정 길이의 문자만 추출(추출할 자릿수)

SUBSTRB : 주어진 문자열에서 추출할 바이트 수를 지정

 

(substr에 대한 다른 글 https://gent.tistory.com/201)

 

 

 

 

반응형