조인(JOIN) 이란?
릴레이션 하나로 원하는 데이터를 얻을 수 없어 관계가 있는 여러 릴레이션을 함께 사용해야 하는 경우 조인(join) 연산을 이용한다. 조인 연산은 조인 속성(join attribute)을 이용해 두 릴레이션을 조합하여 하나의 결과 릴레이션을 구성한다. 조인 속성은 두 릴레이션이 공통으로 가지고 있는 속성으로, 두 릴레이션이 관계가 있음을 나타낸다. 조인 연산한 결과 릴레이션은 피연산자 릴레이션에서 조인 속성의 값이 같은 투플만 연결하여 만들어진 새로운 투플을 포함한다.
[네이버 지식백과] 조인 (데이터베이스 개론, 2013. 6. 30., 김연희)
* 릴레이션 : 테이블 , * 투플 : 릴레이션의 행 이라고 생각하면 될 것 같다.
=> 조회하고 싶은 컬럼이 다른 테이블에 있을 때 사용, 여러 테이블을 한 테이블 처럼 볼 수 있음
1. INNER JOIN

SELECT A.칼럼 B.칼럼
FROM 테이블1 A JOIN 테이블2 B
ON A.기준키 = B.기준키
테이블1 와 테이블2 의 중복된 값을 보여줌
2. LEFT JOIN
SELECT A.칼럼 B.칼럼
FROM 테이블1 A LEFT JOIN 테이블2 B
ON A.기준키 = B.기준키
왼쪽에 있는 테이블을 기준으로 조인하며 왼쪽 테이블의 결과 + 왼쪽 테이블과 오른쪽 테이블의 중복 값을 보여줌
3. RIGHT JOIN
SELECT A.칼럼 B.칼럼
FROM 테이블1 A RIGHT JOIN 테이블2 B
ON A.기준키 = B.기준키
오른쪽에 있는 테이블을 기준으로 조인하며 왼쪽 테이블의 결과 + 왼쪽 테이블과 오른쪽 테이블의 중복 값을 보여줌
4. FULL OUTER JOIN
SELECT A.칼럼 B.칼럼
FROM 테이블1 A FULL OUTER JOIN 테이블2 B
ON A.기준키 = B.기준키
테이블1, 2의 데이터를 모두 검색
하지만 Maria DB에서는 FULL OUTER JOIN을 지원하지 않는다.
UNION을 사용하여 FULL OUTER JOIN을 대체할 수 있음
SELECT *
FROM 테이블1 A LEFT JOIN 테이블2 B ON A.기준키 = B.기준키
UNION
SELECT *
FROM 테이블1 A RIGHT JOIN 테이블2 B ON A.기준키 = B.기준키
full outer join 과 같은 결과가 나타남