MySQL에서 JOIN은 두 개 이상의 테이블에서 데이터를 가져와 연결하는 방법입니다. JOIN을 사용하면 여러 테이블의 데이터를 하나의 테이블처럼 조회할 수 있습니다.
MySQL에서는 다양한 JOIN 방법을 제공합니다.
1. INNER JOIN: INNER JOIN은 두 개의 테이블에서 공통된 값을 가지는 행만을 연결하는 방법입니다.
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
위 쿼리는 table1과 table2에서 공통된 column_name 값을 가지는 행만을 가져와 column_name(s)를 반환합니다.
2. LEFT JOIN: LEFT JOIN은 첫 번째 테이블의 모든 행과 두 번째 테이블에서 첫 번째 테이블과 공통된 값을 가지는 행만을 연결하는 방법입니다.
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
위 쿼리는 table1의 모든 행과 table2에서 table1과 공통된 column_name 값을 가지는 행만을 가져와 column_name(s)를 반환합니다.
3. RIGHT JOIN: RIGHT JOIN은 두 번째 테이블의 모든 행과 첫 번째 테이블에서 두 번째 테이블과 공통된 값을 가지는 행만을 연결하는 방법입니다.
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
위 쿼리는 table2의 모든 행과 table1에서 table2와 공통된 column_name 값을 가지는 행만을 가져와 column_name(s)를 반환합니다.
4. FULL OUTER JOIN: MySQL은 FULL OUTER JOIN을 지원하지 않습니다. 하지만 UNION을 사용하여 비슷한 결과를 얻을 수 있습니다.
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name
UNION
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
위 쿼리는 table1과 table2에서 공통된 column_name 값을 가지는 행과 각각의 테이블에만 있는 값을 가지는 행을 모두 가져와 column_name(s)를 반환합니다.
위와 같은 방법을 사용하여 JOIN을 할 수 있습니다.
'SQL > MYSQL' 카테고리의 다른 글
[MYSQL] DBMS의 개요 (0) | 2023.05.31 |
---|---|
[MYSQL] SUBSTRING_INDEX 문자열 분리 함수 사용방법 (0) | 2023.05.30 |
[MYSQL] GROUP_CONCAT 함수 사용 방법 (0) | 2023.04.05 |
[MYSQL] Coalesce 함수 Null이 아닌 값 반환 사용 방법 (0) | 2023.03.22 |
[MYSQL] Copy table, Insert Into / 테이블 복사 쿼리 (0) | 2023.03.16 |
[MYSQL] Date_add 함수 사용 방법 (0) | 2023.03.14 |
[MYSQL] With 절 사용 방법 (0) | 2023.03.13 |
[MYSQL] Create Temp Table / 임시 테이블 생성 쿼리 (0) | 2023.03.13 |