컬럼을 동시에 소유하고 있는 2개 이상의 테이블을 갖고 있을 때 내가 원하는 어떠한 값 두 테이블 안에서 어떻게 가져올까?
JOIN을 활용하자!
위에 그림처럼 2개의 테이블의 모든 값을 가져올 수도 있고(full join), 교집합이 되는 값만 가져올 수 도 있고(inner join),왼쪽(left join) 혹은 오른쪽(right join)에 있는 테이블의 값만 가져올 수도 있다.
JOIN을 SQL로 표현하면 다음과 같다.
SELECT *
FROM table1
INNER JOIN table2
ON table1.col1 = table2.col2 ;
SELECT table1.attr, table2.attr
FROM table1 LEFT(or RIGHT) OUTER JOIN table2
WHERE table1.id = table2.table1_id;
SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.col1 = table2.col2