티스토리 뷰

SELECT DISTINCT 문법

SELECT DISTINCT는 SQL에서 중복된 데이터를 제거하고 유일한 값만 반환하는 데 사용되는 명령어입니다.

기본 문법은 다음과 같습니다:

SELECT DISTINCT column1, column2, ...
FROM table_name;

 

설명

  • SELECT DISTINCT는 결과 집합에서 중복된 행을 제거합니다.
  • 하나 이상의 열을 지정할 수 있습니다.
  • 여러 열을 지정하면 해당 열의 조합이 중복되지 않는 행을 반환합니다.

 

데이터베이스 테이블 예시

다음과 같은 students 테이블이 있다고 가정해 봅시다.

student_id name age grade
1 Alice 14 8
2 Bob 15 9
3 Charlie 14 8
4 Alice 14 8
5 Dave 16 10

 

예시 1: 하나의 열 사용

SELECT DISTINCT age
FROM students;

결과 :

age
14
15
16

 


예시 2: 여러 열 사용

SELECT DISTINCT name, age
FROM students;

결과 :

name age
Alice 14
Bob 15
Charlie 14
Dave 16

 

Good 사용법 

1. 중복 데이터 제거: 데이터베이스에서 중복된 값을 제거하여 유일한 값만을 조회할 때 유용합니다.

SELECT DISTINCT grade
FROM students;

 

2. 데이터의 고유한 조합 조회: 여러 열의 고유한 조합을 조회할 때 사용합니다.

SELECT DISTINCT name, grade
FROM students;

 

Bad 사용법 

1. 불필요한 DISTINCT 사용: 이미 고유한 값만 있는 열에 DISTINCT를 사용하는 것은 불필요합니다.

-- 'student_id'는 이미 고유하므로 DISTINCT는 필요 없습니다.
SELECT DISTINCT student_id
FROM students;

 

2. 큰 데이터셋에서 성능 저하: 큰 데이터셋에서 DISTINCT를 남용하면 성능이 저하될 수 있습니다. 필요한 경우에만 사용하는 것이 좋습니다.

 

반응형