INNER JOIN
- 양쪽 테이블에서 매치가 되는 레코드들만 리턴함
- 양쪽 테이블의 필드가 모두 채워진 상태로 리턴됨
- 대부분의 조인은 INNER JOIN
LEFT JOIN
- 왼쪽 테이블의 모든 레코들을 리턴함
- 오른쪽 테이블의 필드는 왼쪽 레코드와 매칭되는 경우에만 채워진 상태로 리턴됨
FULL JOIN
- 왼쪽 테이블과 오른쪽 테이블의 모든 레코드들을 리턴함
- 매칭되는 경우에만 양쪽 테이블들의 모든 필드들이 채워진 상태로 리턴됨
- LEFT JOIN
(UNION VS UNION ALL) => 중복제거 / 중복 포함
RIGHT JOIN
CROSS JOIN
- 왼쪽 테이블과 오른쪽 테이블의 모든 레코드들의 조합을 리턴함
SELF JOIN
- 동일한 테이블을 alias를 달리해서 자기 자신과 조인함
-- InnerJoin
SELECT * FROM vital v
JOIN alert a ON v.vital_id = a.vital_id;
-- LeftJoin
SELECT * FROM vital v
LEFT JOIN alert a ON v.vital_id = a.vital_id;
-- RIGHTJOIN
SELECT * FROM vital v
RIGHT JOIN alert a ON v.vital_id = a.vital_id;
-- OuterJoin
SELECT * FROM vital v
Left JOIN alert a ON v.vital_id = a.vital_id
UNION
SELECT * FROM vital v
Right JOIN alert a ON v.vital_id = a.vital_id;
-- CROSS JOIN
SELECT * FROM vital v
CROSS JOIN alert a ON v.vital_id = a.vital_id;
-- SELF JOIN
SELECT * FROM vital v1
JOIN vital v2 ON v1.vital_id = v2.vital_id;
'Database > MySql' 카테고리의 다른 글
[MySQL] Index (0) | 2024.07.31 |
---|---|
[MySQL] Stored Procedure/Function/Trigger (0) | 2024.07.31 |
[MySQL] View (0) | 2024.07.30 |
[MySQL] 지원 함수 (0) | 2024.07.30 |
[MySQL] 기본 문법 (0) | 2024.07.30 |