JOIN 기반 메커니즘 - 2
조인 기반 메커니즘 - 2
2. 데이터 연결 관계 파악하기
M:N의 연결관계
일반적으로 M:N 관계의 경우, 중간에 관계 테이블을 이용하여 나타냄
- 위의 그림과 같이 Products와 Orders 테이블이 Order_items 라는 관계 테이블로 연결 되어있다.
실습 문제 풀기
실습 환경에 대한 설명
실습 문제
고객명 Antonio Moreno이 1997년에 주문한 주문 정보를 주문 아이디, 주문일자, 배송일자, 배송 주소를 고객 주소와 함께 구할것.
1 2 3 4 5
select customers.contact_name , customers.address , orders.order_id , orders.order_date , orders.shipped_date , orders.ship_address from nw.customers as customers join nw.orders as orders on customers.customer_id = orders.customer_id where customers.contact_name = 'Antonio Moreno' and orders.order_date between to_date('19970101', 'yyyymmdd') and to_date('19971231', 'yyyymmdd')
- Berlin에 살고 있는 고객이 주문한 주문 정보를 구할것
고객명, 주문id, 주문일자, 주문접수 직원명, 배송업체명을 구할것.
1 2 3 4 5 6 7
select customers.contact_name , orders.order_id , orders.order_date , emp.first_name||' '||emp.last_name as employee_name, ship.company_name from nw.customers as customers join nw.orders as orders on customers.customer_id = orders.customer_id join nw.employees as emp on emp.employee_id = orders.employee_id join nw.shippers as ship on ship.shipper_id = orders.ship_via where customers.city = 'Berlin'
Beverages 카테고리에 속하는 모든 상품아이디와 상품명, 그리고 이들 상품을 제공하는 supplier 회사명 정보 구할것
1 2 3 4 5
select pro.product_id , pro.product_name , sup.company_name from nw.categories as cate join nw.products as pro on cate.category_id = pro.category_id join nw.suppliers as sup on pro.supplier_id = sup.supplier_id where cate.category_name = 'Beverages'
- 고객명 Antonio Moreno이 1997년에 주문한 주문 상품정보를 고객 주소, 주문 아이디, 주문일자, 배송일자, 배송 주소 및
주문 상품아이디, 주문 상품명, 주문 상품별 금액, 주문 상품이 속한 카테고리명, supplier명을 구할 것.
1 2 3 4 5 6 7 8 9 10 11
select cus.contact_name , cus.address , orders.order_id , orders.order_date , orders.shipped_date , orders.ship_address , ord_item.product_id , pro.product_name , ord_item.amount , cate.category_name , sup.company_name from nw.customers as cus join nw.orders as orders on orders.customer_id = cus.customer_id join nw.order_items as ord_item on ord_item.order_id = orders.order_id join nw.products as pro on ord_item.product_id = pro.product_id join nw.categories as cate on pro.category_id = cate.category_id join nw.suppliers as sup on pro.supplier_id = sup.supplier_id where cus.contact_name = 'Antonio Moreno' and orders.order_date between to_date('19970101', 'yyyymmdd') and to_date('19971231', 'yyyymmdd')
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

