데이터베이스 테이블 조인 유형 연습문제
문제 1: 내부 조인
고객(customer) 테이블과 주문(orders) 테이블을 조인하여 다음과 같은 결과를 얻고자 합니다.
customer_id | customer_name | order_id | order_date |
---|---|---|---|
1 | John Smith | 1001 | 2021-01-01 |
1 | John Smith | 1002 | 2021-02-15 |
2 | Jane Doe | 1003 | 2021-03-10 |
3 | Mike Johnson | 1004 | 2021-04-05 |
다음 SQL 쿼리를 작성하여 위 결과를 얻을 수 있도록 완성해보세요.
SELECT customer.customer_id, customer.customer_name, orders.order_id, orders.order_date
FROM customer
<INNER JOIN orders ON _____>
힌트: customer 테이블과 orders 테이블을 customer_id 컬럼을 기준으로 조인합니다.
문제 2: 외부 조인
제품(products) 테이블과 재고(inventory) 테이블을 조인하여 다음과 같은 결과를 얻고자 합니다.
product_id | product_name | inventory_qty |
---|---|---|
1 | Apple | 100 |
2 | Banana | 50 |
3 | Orange | 0 |
4 | Mango | 75 |
5 | Watermelon | 0 |
6 | Pineapple | 200 |
다음 SQL 쿼리를 작성하여 위 결과를 얻을 수 있도록 완성해보세요.
SELECT products.product_id, products.product_name, inventory.inventory_qty
FROM products
<LEFT OUTER JOIN inventory ON _____>
힌트: products 테이블과 inventory 테이블을 product_id 컬럼을 기준으로 조인합니다. 외부 조인을 사용하여 모든 제품의 재고 수량을 포함합니다.
문제 3: 자체 조인
사원(employees) 테이블을 자체 조인하여 다음과 같은 결과를 얻고자 합니다.
emp_id | emp_name | manager_id | manager_name |
---|---|---|---|
1 | John Smith | 4 | Mike Johnson |
2 | Jane Doe | 4 | Mike Johnson |
3 | Mike Johnson | 5 | Sarah Lee |
4 | Tom Thompson | 5 | Sarah Lee |
5 | Sarah Lee | NULL | NULL |
다음 SQL 쿼리를 작성하여 위 결과를 얻을 수 있도록 완성해보세요.
SELECT e1.emp_id, e1.emp_name, e2.manager_id, e2.emp_name AS manager_name
FROM employees e1
<LEFT OUTER JOIN employees e2 ON _____>
힌트: employees 테이블을 자체 조인하여 각 사원의 상위 관리자 정보를 표시합니다. 외부 조인을 사용하여 상위 관리자 정보가 없는 사원도 표시합니다.
이렇게 데이터베이스 테이블 조인 유형을 연습하는 문제를 통해 데이터베이스 스키마 설계와 쿼리 작성 기술을 향상시킬 수 있습니다. #SQL #데이터베이스