JOIN을 사용하여 중복 데이터 필터 조건 변경하기

데이터베이스에서 중복된 데이터를 필터링하는 방법은 다양합니다. JOIN을 사용하여 중복 데이터를 필터링하는 방법은 간단하고 효과적인 방법 중 하나입니다. 이번 포스트에서는 JOIN을 사용하여 중복 데이터 필터 조건을 변경하는 방법에 대해 알아보겠습니다.

데이터 준비하기

먼저, 예시로 사용할 데이터를 준비합니다. 예시로 사용할 데이터베이스 테이블은 ‘students’와 ‘scores’로 구성되어 있습니다. ‘students’ 테이블에는 학생들의 정보가 저장되어 있고, ‘scores’ 테이블에는 학생들의 성적 정보가 저장되어 있습니다.

students 테이블
+----+-------+------+--------+
| id | name  | age  | gender |
+----+-------+------+--------+
| 1  | John  | 18   | Male   |
| 2  | Emily | 17   | Female |
| 3  | Mike  | 16   | Male   |
| 4  | Lisa  | 18   | Female |
+----+-------+------+--------+

scores 테이블
+------+-------+-------+
| id   | score | grade |
+------+-------+-------+
| 1    | 90    | A     |
| 2    | 85    | B     |
| 3    | 95    | A     |
| 4    | 80    | B     |
| 1    | 85    | B     |
| 2    | 92    | A     |
+------+-------+-------+

중복 데이터 필터링하기

중복 데이터를 필터링하기 위해 JOIN을 사용할 수 있습니다. 예를 들어, ‘students’ 테이블과 ‘scores’ 테이블을 학생의 ID를 기준으로 JOIN하여 중복된 데이터를 필터링해보겠습니다.

SELECT students.id, students.name, scores.score, scores.grade
FROM students
JOIN scores ON students.id = scores.id

위의 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+----+-------+-------+-------+
| id | name  | score | grade |
+----+-------+-------+-------+
| 1  | John  | 90    | A     |
| 1  | John  | 85    | B     |
| 2  | Emily | 85    | B     |
| 2  | Emily | 92    | A     |
| 3  | Mike  | 95    | A     |
| 4  | Lisa  | 80    | B     |
+----+-------+-------+-------+

위의 결과에서 ‘id’가 1인 학생의 데이터와 ‘id’가 2인 학생의 데이터가 중복되어 나타나고 있습니다. 이를 해결하기 위해서는 중복된 데이터를 제거해야 합니다.

중복 데이터 제거하기

중복된 데이터를 제거하기 위해서는 DISTINCT 키워드를 사용할 수 있습니다. 예를 들어, 위에서 얻은 결과를 기준으로 중복된 데이터를 제거해보겠습니다.

SELECT DISTINCT students.id, students.name, scores.score, scores.grade
FROM students
JOIN scores ON students.id = scores.id

위의 쿼리를 실행하면 중복된 데이터가 제거된 결과가 출력됩니다.

+----+-------+-------+-------+
| id | name  | score | grade |
+----+-------+-------+-------+
| 1  | John  | 90    | A     |
| 1  | John  | 85    | B     |
| 2  | Emily | 85    | B     |
| 2  | Emily | 92    | A     |
| 3  | Mike  | 95    | A     |
| 4  | Lisa  | 80    | B     |
+----+-------+-------+-------+

위의 결과에서 중복된 데이터가 제거되어 각 학생의 고유한 데이터만 출력되고 있습니다.

결론

JOIN을 사용하여 중복 데이터 필터 조건을 변경하는 방법에 대해 알아보았습니다. JOIN을 활용하면 중복된 데이터를 쉽게 필터링할 수 있고, DISTINCT 키워드를 사용하여 중복된 데이터를 제거할 수 있습니다. 데이터베이스에서 중복 데이터를 다룰 때는 JOIN과 DISTINCT를 적절히 활용하여 데이터를 효과적으로 처리할 수 있습니다.

#TechBlog #데이터베이스