최대 1 분 소요

이것이 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

태그:

카테고리:

업데이트:

댓글남기기