SQL SELECT DISTINCT
이 SELECT DISTINCT문은 고유 값만 반환하는 데 사용된다.
테이블 내부의 열에는 종종 많은 중복 값이 포함된다.
때로는 고유 값만 나열하고 싶을 수도 있다.
표준 SQL 쿼리
SELECT DISTINCT column1, column2, ... FROM table_name;
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
고유 값이 없는 SELECT
표준 SQL 쿼리
SELECT Country FROM Customers;
“Customers” 테이블의 “Country” 열에있는 모든 값(중복 포함)을 선택한다.
기본 예시
Country |
---|
Germany |
Mexico |
Mexico |
UK |
Sweden |
Germany |
France |
Spain |
France |
Canada |
UK |
Argentina |
Mexico |
Switzerland |
Brazil |
UK |
Germany |
France |
UK |
Austria |
Brazil |
Spain |
France |
Sweden |
Germany |
France |
Italy |
Portugal |
Spain |
Spain |
Brazil |
USA |
Venezuela |
Brazil |
Venezuela |
USA |
Ireland |
UK |
Germany |
France |
France |
Canada |
USA |
Germany |
USA |
Venezuela |
Venezuela |
USA |
Italy |
Belgium |
Canada |
Germany |
UK |
Argentina |
USA |
Germany |
France |
Mexico |
Austria |
Portugal |
Brazil |
Brazil |
Germany |
Argentina |
USA |
Italy |
Brazil |
Switzerland |
Spain |
Norway |
USA |
UK |
Denmark |
France |
USA |
Belgium |
USA |
USA |
Germany |
Mexico |
Brazil |
USA |
Denmark |
France |
France |
Germany |
Finland |
Brazil |
USA |
Finland |
Poland |
고유 값이 있는 SELECT
표준 SQL 쿼리
SELECT DISTINCT Country FROM Customers;
“Customers” 테이블의 “Country” 열에서 DISTINCT 값만 선택한다.
기본 예시
Country |
---|
Germany |
Mexico |
UK |
Sweden |
France |
Spain |
Canada |
Argentina |
Switzerland |
Brazil |
Austria |
Italy |
Portugal |
USA |
Venezuela |
Ireland |
Belgium |
Norway |
Denmark |
Finland |
Poland |
예시
표준 SQL 쿼리
SELECT COUNT(DISTINCT Country) FROM Customers;
서로 다른(고유한) 고객 국가의 수를 나열한다.
기본 예시
COUNT(DISTINCT Country) |
---|
21 |
위 예제는 Firefox에서 작동하지 않는다.
Firefox는 MS Access를 사용한다.
MS Access
SELECT Count(*) AS DistinctCountries FROM (SELECT DISTINCT Country FROM Customers);
기본 예시
DistinctCountries |
---|
21 |
참고
W3C School - SQL SELECT DISTINCT Statement
W3C School - SQL Tutorial
사이트 이름3