728x90
JOIN 함수:
JOIN 함수는 두 테이블의 값들을 하나로 합쳐주는 역할을 한다. 예를 들어 item이라는 테이블과 stock이라는 테이블이 있는 상황에서 item 테이블에 있는 id 컬럼과 stock 테이블에 있는 item_id 컬럼을 기준으로 조인 하고 싶으면 아래와 같은 코드로 작성하면 된다.
SELECT
item.id,
item.name,
stock.item_id,
stock.inventory_count
FROM item RIGHT OUTER JOIN stock
ON item.id = stock.item_id;
item 테이블로부터 stock테이블을 기준으로 id와 item_id가 같은 컬럼의 SELECT 안에 있는 컬럼들을 추출한다.
RIGHT ,LEFT JOIN: 말 그대로 오른쪽을 기준으로 왼쪽을 기준으로 합친다는 것이다.
INNER : 두 테이블의 공통된 컬럼을 기준으로 합친다는 것이다.
ALISA 붙혀서 간단하게 코드 짜기:
SELECT
i.id,
i.name,
s.item_id,
s.inventory_count
FROM item AS i RIGHT OUTER JOIN stock AS s
ON i.id = s.item_id;
FOREIGN KEY:
stock 테이블에 있는 item_id 컬럼을 통해서 item테이블의 id컬럼을 참고했다. 이처럼 다른 테이블의 특정 row를 식별할 수 있게 해주는 컬럼을 FOREIGN KEY라고 한다. 여기서 참조를 당하는 테이블을 부모 테이블(item) 참조를 하는 테이블을 자식테이블(stock)이라고 한다.
*USING:
만약 조인되는 기준 컬럼의 이름이 서로 같다면 ON대신 USING()으로 쉽게 나타낼 수 있다.
SELECT
old.id AS old_id,
old.name,
new.id,
new.name
FROM item AS old LEFT OUTER JOIN item_new AS new
USING(id);
728x90