728x90
※ 문제 풀이를 하면서 SQL 복습 정리 ※
📖 참고 및 공식문서
SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)
조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부
hongong.hanbit.co.kr
https://dev.mysql.com/doc/refman/8.0/en/join.html
MySQL :: MySQL 8.0 Reference Manual :: 13.2.13.2 JOIN Clause
MySQL supports the following JOIN syntax for the table_references part of SELECT statements and multiple-table DELETE and UPDATE statements: table_references: escaped_table_reference [, escaped_table_reference] ... escaped_table_reference: { table_referenc
dev.mysql.com
📌 JOIN 이란?
데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 표현
즉, 두 릴레이션으로부터 관련된 투플들을 결합하여 하나의 보다 긴 투플로 만든다.
외래키(Foreign Key)와 기본키(Primary Key)를 사용하여 두 테이블을 연결한다.
1️⃣ INNER JOIN (내부 조인)
- 여러 애플리케이션에서 사용되는 가장 흔한 결합 방식이며, 기본 조인 형식
- INNER JOIN = JOIN 연산과 같다.
- 조인하려는 양쪽테이블에 모두 값이 있는 경우만 출력된다.
- 즉, 서로 중복된 값만 출력한다.
SELECT *
FROM A
JOIN B
ON A.id = B.id
WHERE [조건절];
2️⃣ OUTER JOIN (외부 조인)
- 한쪽 테이블에만 값이 있어도 결과가 출력된다.
- LEFT : 왼쪽 테이블을 기준으로 오른쪽 테이블을 매칭, 없는 경우 NULL로 표시
- RIGHT : 오른쪽 테이블을 기준으로 왼쪽 테이블을 매칭, 없는 경우 NULL로 표시
- FULL : 모든 테이블의 데이터를 매칭, 없는 경우 NULL
Left Outer Join
SELECT *
FROM A
LEFT JOIN B
ON A.id = B.id;
Right Outer Join
SELECT *
FROM A
RIGHT JOIN B
ON A.id = B.id;
Full Outer Join = LEFT + RIGHT
SELECT *
FROM A
LEFT JOIN B
ON A.id = B.id
UNION
SELECT *
FROM A
RIGHT JOIN B
ON A.id = B.id
3️⃣ CROSS JOIN (교차 조인)
- 조인되는 두 테이블의 곱집합을 구한다.
- m행을 가진 테이블과 n행을 가진 테이블이 교차 조인되면 m*n 개의 행을 생성
SELECT *
FROM A CROSS JOIN B;
728x90
'Language > SQL' 카테고리의 다른 글
[SQL] CASE Statement (MySQL) (0) | 2024.02.06 |
---|---|
[SQL] Aggregate & Mathematical Function 정리 (MySQL) (2) | 2024.01.03 |
[SQL] 문자열 비교함수 알아보기 (MySQL) (0) | 2023.12.21 |
[SQL] date 타입에 대해 알아보기 (MySQL) (0) | 2023.12.14 |