# LEFT JOIN 작성법(기초편)
select 컬럼1, 컬럼2...
from 테이블1 as 테이블명1
left join basic.theglory2 as 테이블명2
on a.공통컬럼=b.공통컬럼
앞선 INNER JOIN 의 복잡한 예를 통해, 서브쿼리를 사용한 조인의 활용을 보셨습니다.
서브쿼리1,2가 실행되고 LEFT 조인문이 실행됩니다. 그 다음, 맨 마지막 ON 절에 조건절을 넣어주시면, LEFT 에 위치한 데이터는 모두 출력되며, RIGHT 에 위치한 데이터는 조건을 만족할 경우 값을 출력하지만, 조건을 만족하지 못할경우, NULL 값을 출력합니다.
’RIGHT 를 기준으로 위쪽에 작성하는 테이블’
‘RIGHT 를 기준으로 아래쪽에 작성하는 테이블’
두 테이블에 where 절이 없을 때, 간단하게 조인하실 수 있습니다.
# RIGHT JOIN 작성법(기초편)
select 컬럼1, 컬럼2...
from 테이블1 as 테이블명1
right join 테이블2 as 테이블명2
on a.공통컬럼=b.공통컬럼
select 컬럼1, 컬럼2,...
from table1 left join table2
on a.공통컬럼=b.공통컬럼
union
select 컬럼1, 컬럼2,...
from table1 right join table2
on a.공통컬럼=b.공통컬럼
구분 | UNION | JOIN |
---|---|---|
결합방식 | - 수직결합(세로로) | - 수평결합(가로로) |
특징 | - SELECT 문은 같은 수의 열을 가져야 함 | - 각 테이블은 결합을 위해 공통컬럼을 반드시 1개 이상 가져야 함 |
- 각 SELECT 문의 열은 동일한 순서를 가져야 함 | - PK는 기본키라고 부르며, NULL일 수 없고, 유일한 값을 가짐. 테이블 당 하나의 기본키만 가질 수 있음 | |
- FK는 외래키라고 부르며, 다른 테이블의 PK와 연결되는 컬럼을 의미 (즉, PK와 공통컬럼) |
SELECT 컬럼1, 컬럼2
FROM TABLE A
UNION (ALL)
SELECT 컬럼1, 컬럼2
FROM TABLE B
JOIN: TABLE A INNER JOIN TABLE B
ON A.공통컬럼=B.공통컬럼
LEFT JOIN: TABLE A LEFT JOIN TABLE B
ON A.공통컬럼=B.공통컬럼
-왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다. 일치하는 항목이 없으면 오른쪽 테이블의 열에 대해 NULL 값이 출력됩니다.
RIGHT JOIN: TABLE A RIGHT JOIN TABLE B
ON A.공통컬럼=B.공통컬럼
FULL OUTER JOIN: LEFT JOIN + UNION + RIGHT JOIN