DISTINCT는 주로 unique한 컬럼이나 튜플(레코드)를 조회하는 경우 사용
GROUP BY는 데이터를 그룹핑해서 그 결과를 가져오는 경우 사용되는 형태
SELECT DISTINCT name FROM user;
SELECT DISTINCT id, name FROM user;
# 위 두 SQL은 아래 처럼 실행해도 같은 결과가 나온다.
SELECT name FROM user GROUP BY name;
SELECT id, name FROM user GROUP BY id, name;
이런 형태의 DISTINCT는 내부적으로 GROUP BY와 동일한 코드를 사용한다.
두개의 차이점은 DISTINCT는 결과가 정렬된 결과각 아니지만 GROUP BY는 정렬된 결과를 보내준다.
GROUP BY = “그룹핑” + “정렬”
DISTINCT = “그룹핑"