WeniVooks

검색

SQL 베이스캠프

SELECT DISTINCT

1. SELECT DISTINCT

DISTINCT는 중복된 데이터를 제거하는 키워드입니다. SELECT문을 사용할 때, 중복된 데이터를 제거하고 싶을 때 사용합니다.

SELECT 상품ID FROM 주문상세;
SELECT 상품ID FROM 주문상세;

위와 같이 작성하면 주문상세 테이블의 상품ID가 중복되어 나타납니다. 데이터 2를 찾아보시면 맨 위에서 2번째에도 2가 있고, 하단에 2가 또 있는 것을 알 수 있습니다. 만약 요구사항이 아래와 같다면 이렇게 중복된 데이터가 나타나면 안됩니다.

  • 요구사항: "이번 달에 고객이 어떤 상품을 주문했는지 알고 싶어요."

이럴 때 DISTINCT를 사용하면 중복된 데이터를 제거하고 데이터 목록을 출력할 수 있습니다.

SELECT DISTINCT 상품ID FROM 주문상세;
SELECT DISTINCT 상품ID FROM 주문상세;
실습환경 바로가기

중복이 제거된 것을 볼 수 있습니다.

2. 중복이 얼마나 제거되어 있는지 확인하기

중복이 얼마나 제거되었는지 확인하려면 COUNT() 함수를 사용하면 됩니다.

SELECT COUNT(DISTINCT 상품ID) FROM 주문상세;
SELECT COUNT(DISTINCT 상품ID) FROM 주문상세;
실습환경 바로가기

원본의 데이터는 아래와 같이 확인이 가능합니다.

SELECT COUNT(상품ID) FROM 주문상세;
SELECT COUNT(상품ID) FROM 주문상세;

이를 한 번에 연산할 수도 있습니다.

SELECT COUNT(상품ID) - COUNT(DISTINCT 상품ID) FROM 주문상세;
SELECT COUNT(상품ID) - COUNT(DISTINCT 상품ID) FROM 주문상세;
실습환경 바로가기
2.1 테이블 확인 및 SELECT2.3 ORDER BY