Join
조인이란?
데이터를 불러 올 때 하나의 테이블만 사용하는 것이 아니라
두개 이상의 테이블을 합쳐서 필요한 데이터를 추출할 때 사용하는 것이 조인입니다.
즉, 여러 개의 테이블을 연결하여 하나의 테이블을 만드는 과정이라고 할 수 있습니다.
INNER JOIN
조인 대상 테이블들 간에 일치하는 행만을 반환하며, 일치하지 않는 행은 결과에 포함되지 않습니다.
EQUL JOIN
1
2
3
4
5
6
7
SELECT *
FROM 테이블1
JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
// 두 테이블에서 일치하는 값을 찾아 조인합니다.
NATURAL JOIN
1
2
3
4
5
6
SELECT *
FROM 테이블1
NATURAL JOIN 테이블2;
// 동일한 이름을 가진 모든 열을 조인합니다.
JOIN ~ USING
1
2
3
4
5
6
7
SELECT *
FROM 테이블1
JOIN 테이블2 USING (공통열);
// 조건이 명시된 특정열을 조인합니다.
OUTTER JOIN
JOIN 하는 여러 테이블에서 한 쪽에는 데이터가 있고 한 쪽에는 데이터가 없을 때,
데이터가 있는 쪽의 모든 데이터를 가져오면서 데이터가 없는 쪽의 데이터를 JOIN 해서 가져오고 싶을 때 사용합니다.
LEFT OUTER JOIN
1
2
3
4
5
6
SELECT *
FROM 테이블1
LEFT OUTER JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
// 테이블 1에 JOIN 되고, 테이블 1에 없는 값은 NULL 로 보여줍니다.
RIGHT OUTER JOIN
1
2
3
4
5
6
SELECT *
FROM 테이블1
RIGHT OUTER JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
// 테이블 2 에 JOIN 되고, 테이블 2에 없는 값은 NULL 로 보여줍니다.
FULL OUTER JOIN (Oracle)
1
2
3
4
5
6
SELECT *
FROM 테이블1
FULL OUTER JOIN 테이블2 ON 테이블1.공통열 = 테이블2.공통열;
// 테이블 1과 테이블 2 의 모든 내용 보여주고 없는 값은 NULL 로 보여줍니다.
CROSS JOIN
1
2
3
4
5
6
7
8
SELECT *
FROM 테이블1
CROSS JOIN 테이블2;
// 테이블 1과 테이블2의 모든행을 조합하여 가능한 모든 조합을 반환합니다.
// 테이블이 큰 경우에는 결과 세트가 매우 크게 될 수 있으므로 사용 시 신중해야 합니다.
SELF JOIN
1
2
3
4
5
6
7
SELECT *
FROM 테이블 AS t1
JOIN 테이블 AS t2 ON t1.열 = t2.열;
// 동일한 테이블 내에 있는 서로 다른 행을 연결해서 정보를 비교하고 추출합니다.
// 부모-자식 관계를 가진 데이터를 비교하거나 연결할 때 유용하게 사용합니다.
This post is licensed under CC BY 4.0 by the author.