SQL/MySQL

MySQL 중복 제거 DISTINCT 쉬운 사용법 예시

진리뷰 2023. 8. 26. 09:00
반응형

 

 

MySQL-중복-제거-DISTINCT-쉬운-사용법-예시-썸네일
중복 제거 DISTINCT 사용법과 예시

 

 

한 개 이상의 컬럼에서 중복값을 제거할 때 사용하는 DIDTINCT의 쉬운 사용법을 예시와 함께 알려드리겠습니다.

 

 

MySQL 중복 제거 DISTINCT

 

DISCTINCT는 SELECT문과 자주 쓰이는 키워드로, 중복을 제거해 줍니다.

이는 중복을 허용해서 모두 보여주는, 기본값 ALL 키워드의 반대 개념입니다.

 

 

MySQL 중복 제거 DISTINCT 쉬운 사용법

 

중복 제거할 컬럼이 한 개일 때는 다음과 같습니다.

SELECT DISTINCT 컬럼1
FROM 테이블명;

 

중복 제거할 컬럼이 여러 개일 때는 쉼표(,)를 사용하며, 다음과 같습니다.

SELECT DISCTINCT 컬럼1, 컬럼2,..., 컬럼N
FROM 테이블명;

 

 

MySQL 중복 제거 DISTINCT 예시

 

아래는 샘플 테이블 'clerk'입니다.

SELECT * FROM clerk로 해당 테이블의 모든 데이터를 확인해 봅니다.

id와 staff_name 컬럼(column, 열)에는 중복이 없으나, dep_name과 gender에는 중복이 보입니다.

DISCTINCT키워드로 중복을 제거해 보겠습니다.

MySQL-DISTINCT-sample-table
sample table

 

 

먼저, 'dep_name'이라는 한 개의 column만 중복 제거하겠습니다.

SELECT DISTINCT dep_name
FROM clerk;

>> clerk 테이블에서 dep_name 컬럼의 중복을 제거해 줘.

 

 

위의 샘플 테이블에서의 '마케팅(id=1), 마케팅(id=7), 인사(id=5), 인사(id=8)' 중복이 사라졌습니다.

그래서 샘플 테이블의 8행이 6행으로 줄었고, 부서별 이름이 한 개만 보입니다.

MySQL-DISTINCT-열-한개-중복-제거
distinct 한 개 중복 제거

 

 

이번에는 'dep_name'과 'gender'라는 두 개의 컬럼을 중복 제거하겠습니다.

SELECT DISTINCT dep_name, gender
FROM clerk;

>> clerk 테이블에서 dep_name, gender 열의 중복을 제거해 줘.

 

 

다음과 같은 산출물이 나왔습니다.

1. 마케팅 부서는 같은 부서라도 두 직원의 성별이 다르기에 중복이 없으므로 각각 표시되었습니다.

2. 반면, 인사 부서는 같은 부서이면서 두 직원 모두 성별이 남자(M)입니다.

3. 그래서 한 번만 표시되었으며, 결과적으로는 8행에서 7행으로 줄었습니다.

MySQL-DISTINCT-열-여러개-중복-제거
distinct 여러 개 중복 제거

반응형
top