[SQL] JOIN 사용법

Inah-_-·2021년 5월 2일
0

데이터베이스

목록 보기
1/13

📚 JOIN이란

데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 연관관계가 있는
결과값을 조회할 때 사용되는데, 보통 SELECT문과 함께 사용된다.
JOIN의 종류 = INNER JOIN LEFT JOIN RIGHT JOIN PULL JOIN


💡 INNER JOIN

ON 절과 함께 사용되며, ON의 조건을 만족하는 데이터만 가져온다.
표준 SQL과는 달리 MySQL에서는 JOIN, INNER JOIN, CROSS JOIN이 모두 같은 의미로 사용된다.

INNER JOIN 문법 예시

SELECT *
FROM A_TABLE
INNER JOIN B_TABLE
ON 조건
WHERE 조건

💡 LEFT JOIN

첫 번째 테이블을 기준으로 두 번째 테이블을 조합한다.
ON 의 조건을 만족하지 않는 경우에는 첫 번째 테이블의 필드 값은 그대로 가져오고
두 번째 테이블의 필드 값은 모두 NULL로 표시된다.

LEFT JOIN 문법 예시

SELECT *
FROM A_TABLE
LEFT JOIN 두번째테이블이름
ON 조건
WHERE 조건

💡 RIGHT JOIN

LEFT JOIN과 반대로 두 번째 테이블을 기준으로 첫 번째 테이블을 조합한다.
ON 의 조건을 만족하지 않는 경우에는 두 번째 테이블의 필드 값은 그대로 가져오고
첫 번째 테이블의 필드 값은 모두 NULL로 표시된다.

LEFT JOIN 문법 예시

SELECT *
FROM A_TABLE
RIGHT JOIN B_TABLE
ON 조건
WHERE 조건

💡 FULL JOIN

MySQL에서는 FULL JOIN을 지원하지 않는다.
LEFT JOIN, RIGHT JOIN을 함께 사용하여 같은 결과를 도출할 수는 있다.

FUlL JOIN LEFT JOIN + RIGHT JOIN 문법 예시

SELECT *
FROM A_TABLE
LEFT JOIN B_TABLE
ON 조건
UNION
SELECT *
FROM A_TABLE
RIGHT JOIN B_TABLE
ON 조건

✅ UNION이란?

중복되지 않은 유일한 값을 추출하는 경우 or 중복되는 모든 값까지 추출하는 경우에 쓰인다.

  • UNION
    중복되지 않은 유일한 값을 추출
SELECT *
FROM A_TABLE
LEFT JOIN B_TABLE

UNION

SELECT *
FROM A_TABLE
RIGHT JOIN B_TABLE

  • UNION ALL
    중복되는 모든 값 추출
SELECT *
FROM A_TABLE
LEFT JOIN B_TABLE

UNION ALL

SELECT *
FROM A_TABLE
RIGHT JOIN B_TABLE



profile
Backend Developer

0개의 댓글