조인이란?
- 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법
- 테이블을 연결하려면, 적어도 하나의 컬럼을 서로 공유하고 있어야하므로 이를 이용하여 데이터 검색에 활용함
Join 종류
- INNER JOIN
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN
- CROSS JOIN
- SELF JOIN
1) INNER JOIN
- 교집합
- 기준 테이블과 조인 테이블의 중복된 값을 보여줌
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
2) LEFT OUTER JOIN
- 기준 테이블 값과 조인 테이블과 중복된 값을 보여줌
- 왼쪽 테이블 기준으로 JOIN을 한다고 생각하면 편함
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
3) RIGHT OUTER JOIN
- LEFT OUTER JOIN과는 반대로 오른쪽 테이블 기준으로 JOIN하는 것
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
RIGHT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
4) FULL OUTER JOIN
- 합집합
- A와 B 테이블의 모든 데이터가 검색됨
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
FULL OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
5) CROSS JOIN
- 모든 경우의 수를 전부 표현해주는 방식
- A가 3개, B가 4개면 총 3*4 = 12개의 데이터가 검색됨
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
CROSS JOIN JOIN_TABLE B
6) SELF JOIN
- 자기 자신과 자기 자신을 조인하는 것
- 하나의 테이블을 여러 번 복사해서 조인한다고 생각하면 편함
- 자신이 갖고 있는 컬럼을 다양하게 변형시켜 활용할 때 자주 사용
'CS 지식 > [데이터베이스]' 카테고리의 다른 글
[데이터베이스] 인덱스(Index) (0) | 2023.07.18 |
---|---|
[데이터베이스] 이상(Anomaly) (0) | 2023.07.18 |
[데이터베이스] SQL과 NOSQL의 차이 (0) | 2023.07.18 |
[데이터베이스] SQL Injection (0) | 2023.07.18 |
[데이터베이스] Key (0) | 2023.07.17 |