- SELECT * FROM program, teacher
- 이렇게 하면 가능한 모든 조합의 행을 다 뽑아주므로 필터링을 해야한다.
- SELECT * FROM program, teacher WHERE program.teacherID = teacher.teacherID ORDER BY program.teacherID
- 이런식으로 해야하는데, JOIN을 주로 사용한다.
1. INNER JOIN : TABLE 두개 합치기
- 사용법
- 응용 예시
program
teacher
product
INNER JOIN 예시
결과물
- 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 |
댓글