SELECT -- 출력할 열 선택
select_list
FROM
table1
INNER JOIN table2
ON table1.fk = table2.pk;
-- fk = foreign key , pk = primary key
SELECT
select_list
FROM
table1
LEFT [OUTER] JOIN table2 -- OUTER 생략가능
ON table1.fk = table2.pk;
SELECT
select_list
FROM
table1
RIGHT [OUTER] JOIN table2
ON table1.fk = table2.pk;
SELECT
select_list
FROM
table1
RIGHT [OUTER] JOIN table2
ON table1.fk = table2.pk
WHERE table1.fk IS NULL;
-- 왼쪽 테이블의 값이 없는 경우만을 출력시켜
-- table2 에서 교집합 부분을 제외한 나머지를 확인 할 수 있다.
A와 B의 교집합을 조회하는 Mysql 코드
SELECT *
FROM tableA
INNER JOIN tableB
ON tableA.fk = tableB.pk;
A의 레코드를 모두 조회하는 Mysql 코드
SELECT *
FROM tableA
LEFT JOIN tableB
ON tableA.fk = tableB.pk;
B의 레코드를 모두 조회하는 Mysql 코드
SELECT *
FROM tableA
RIGHT JOIN tableB
ON tableA.fk = tableB.pk;
A의 레코드에서 교집합을 제외하고 조회하는 Mysql 코드
SELECT *
FROM tableA
LEFT JOIN tableB
ON tableA.fk = tableB.pk
WHERE tableB.pk IS NULL;
B의 레코드에서 교집합을 제외하고 조회하는 Mysql 코드
SELECT *
FROM tableA
RIGHT JOIN tableB
ON tableA.fk = tableB.pk
WHERE tableA.pk IS NULL;
A와 B 그리고 교집합 까지 조회하는 Mysql 코드
SELECT * FROM tableA
LEFT JOIN tableB ON tableA.fk = tableB.pk
UNION
SELECT * FROM tableA
RIGHT JOIN tableB ON tableA.fk = tableB.pk;
SELECT *
FROM tableA
INNER JOIN tableB
ON tableA.fk = tableB.pk
INNER JOIN tableC
ON tableB.fk = tableC.pk