INNER JOIN
1) 동등 조인
SELECT 출력할 열들
FROM 주 테이블
INNER JOIN 합성할 테이블
ON 비교 연산 ;
SELECT A.count_id, A.first_name, B.gender
FROM my_table A
INNER JOIN sub_table B
ON A.count_id = B.count_id;
2) 비동등 조인
SELECT A.count_id, A.first_name, B.gender
FROM my_table A
INNER JOIN sub_table B
ON A.count_id <> B.count_id
ORDER BY A.count_id;
// 해당하지 않는 모든 값을 출력
3) NATURAL JOIN (자연조인)
SELECT A.count_id, A.first_name, B.gender
FROM my_table A
NATURAL JOIN sub_table B;
// 같은 이름의 열을 참조하여 출력, 그러므로 현재 코드에선 위의 동등조인과 같은 동작을 한다.
카티젼 조인 (Cartesian Join)
SELECT my_table.toy, sub_table.color
FROM my_table
CROSS JOIN sub_table;
// my_table의 toy열과 sub_table의 color열의 모든 행을 서로 짝지워서 출력.
// 5개의 행과 6개의 행이 있다면 총 30개의 행을 출력하게 된다.
AS를 사용한 예
SELECT m.toy, s.color
FROM my_table AS m
CROSS JOIN sub_table AS s;
SELECT 출력할 열들
FROM tableA A
INNER JOIN tableB B
ON A.key = B.key;
SELECT 출력할 열들
FROM tableA A
LEFT JOIN tableB B
ON A.key = B.key;
SELECT 출력할 열들
FROM tableA A
LEFT JOIN tableB B
ON A.key = B.key
WHERE B.key IS NULL;
SELECT 출력할 열들
FROM tableA A
RIGHT JOIN tableB B
ON A.key = B.key
WHERE B.key IS NULL;
SELECT 출력할 열들
FROM tableA A
RIGHT JOIN tableB B
ON A.key = B.key;
SELECT 출력할 열들
FROM tableA A
FULL OUTER JOIN tableB B
ON A.key = B.key;
SELECT 출력할 열들
FROM tableA A
FULL OUTER JOIN tableB B
ON A.key = B.key
WHERE A.key IS NULL OR B.key IS NULL;