products 테이블이 있다.
customers 테이블이 있다.
주문 내역을 담은 orders 테이블을 하나 더 만들어 보자.
orders 테이블 안에 데이터를 집어 넣었다.
테이블 첫 번째 줄을 보면
여기서 customer_id 에서 1이라서 Jaeksuk Yoo 고객이
product_id 가 2 이므로 pencil을 구매한 것을 알 수 있다.
이렇게 customer_id 와 product_id가 foreign key 이다.
여기서 고객 이름과 제품명을 번호로 받아보는 것보다
출력할 때는 실제 이름과 제품명이 나오도록 해보자.
이 때 필요한 것이 JOIN이다.
JOIN은 2개 이상의 테이블을 합쳐서 보여주는 것이다.
https://www.w3schools.com/sql/sql_join.asp
INNER JOIN
orders 테이블에 고객 번호를 사람 이름으로 변경하려면
INNER JOIN을 사용해서 원하는 데이터를 적어준다.
테이블 2개 JOIN 하기
주문 번호와 사람 이름이 나오게 join 해보자.
SELECT orders.order_number, customers.first_name, customers.last_name
-> FROM orders
-> INNER JOIN customers ON orders.customer_id = customers.id;
결과 보기
테이블 3개 JOIN 하기
주문번호, 사람 이름, 제품 까지 나오도록 join 해보자.
SELECT orders.order_number, customers.first_name, customers.last_name, products.name
-> FROM ((orders
-> INNER JOIN customers ON orders.customer_id = customers.id)
-> INNER JOIN products ON orders.product_id = products.id);
결과보기
'Databases > SQL' 카테고리의 다른 글
MYSQL 제약조건 알아보기 | NOT NULL | UNIQUE 등 (0) | 2022.01.07 |
---|---|
mysql CRUD (0) | 2022.01.06 |
맥에서 mysql 다운받는 법(Monterey OS) (0) | 2022.01.05 |
데이터베이스 SQL vs NOSQL (0) | 2021.11.12 |
댓글