본문 바로가기
Database/MySQL

[MySQL] 기본 문법 - 4 (Join 개쉬움)

by VictorMeredith 2023. 5. 4.

- SELECT * FROM program, teacher

- 이렇게 하면 가능한 모든 조합의 행을 다 뽑아주므로 필터링을 해야한다.

- SELECT * FROM program, teacher WHERE program.teacherID = teacher.teacherID ORDER BY program.teacherID

- 이런식으로 해야하는데, JOIN을 주로 사용한다.

 

1. INNER JOIN : TABLE 두개 합치기

- 사용법

ON을 사용하여 JOIN할 두 테이블 간의 관계를 명시한다. (Primary Key 와 Foreign Key를 연결한다)

 

- 응용 예시

 

program

 

teacher

 

product

 

INNER JOIN 예시

program 테이블 기준으로 teacher , product 테이블을 조인한다.

 

결과물

- teacherID와 productID가 중복되는 것을 볼 수 있는데, 중복을 제거하려면 * 대신에 필요한 열만 선택해서 가져오면 된다. 

 

2. LEFT, RIGHT JOIN : 테이블 간에 접점(공통점) 이 없는 행들 까지 출력하는 경우

- INNER JOIN + 왼쪽테이블 전부 출력 (RIGHT는 오른쪽)

- 이렇게 했을 때, program의 teacherID에 해당하는 teacher테이블의 teacherID가 없을 경우, NULL 값으로 표현된다.

- 즉, program.teacherID 가 있고, teacher.teacherID가 없을 경우

- teacherName 이 NULL 로 표시된다. 하지만 다 나오긴 한다.

'Database > MySQL' 카테고리의 다른 글

[MySQL] 기본 문법 - 6  (0) 2023.05.04
[MySQL] 기본 문법 - 5  (0) 2023.05.04
[MySQL] 기본 문법 - 3 (정규화 개쉬움)  (0) 2023.05.04
[MySQL] MySQL 기본 문법 -2  (0) 2023.05.04
[MySQL] MySQL 기본 문법 - 1  (0) 2023.05.04

댓글