[Lecture Note] MySQL 05. Join
이것이 MySQL이다 강의를 참고하여 정리한 글임을 밝힙니다.
Inner Join
1:N
1:N의 관계로 연결된 테이블의 경우에는 JOIN하여 함께 나타낼 수 있습니다.
첫번째 테이블을 보이고 여기에 연결된 2번째 테이블의 값을 보기 위해선 다음과 같은 코드를 사용합니다.
SELECT col_reference
FROM table1_name table1_nickname
INNER JOIN table2_name table2_nickname
ON condition
이 때 ON 뒤에 오는 condition의 경우 첫번째 테이블 table1_name의 값과 두번째 테이블 table2_name의 값과의 비교가 들어가게 됩니다.
특히 중복되지 않는 값으로 비교하여야 에러가 생기지 않고 잘 작동합니다.
N:N
N:N 관계의 경우 바로 연결하지 못하고 두 테이블 사이에 1:N의 관계로 거쳐가는 테이블이 필요하게 됩니다.
쉽게 생각해서 {(N:1):(1:N)}처럼 구분하여 모델링을 하여야 합니다.
Outer Join
SELECT col_reference
FROM table1_name table1_nickname(LEFT 테이블)
<LEFT | RIGHT | FULL> OUTER JOIN table2_name table2_nickname(RIGHT 테이블)
ON condition
LEFT든 RIGHT든 해당 방향의 데이터는 일단 다 나오도록 하는 것이 OUTER JOIN입니다.
즉 LEFT JOIN을 한 경우 첫번째 테이블 데이터 중 condition을 만족하지 않더라도 다 읽히게 됩니다.
SELF JOIN
자기 자신과 JOIN을 하는 경우이며 주로 비상 연락망과 같이 한 테이블 내 데이터들이 서로 연결된 경우에 해당합니다.
Union
두 테이블을 합칠 때 사용합니다. 그렇기에 데이터 타입, 열 개수 등이 매우 비슷해야합니다.
예를 들어 월별 실적처럼 나눠진 것을 합칠 때 사용합니다.
SELECT
UINION [ALL]
SELECT
댓글남기기