SQL에서의 다중 테이블 연산 및 조인 연습문제

SQL은 다중 테이블 연산과 조인을 통해 복잡한 데이터 집합을 처리하는 강력한 기능을 제공합니다. 이번 연습문제에서는 SQL을 사용하여 다중 테이블 연산과 조인을 연습해 보겠습니다.

데이터베이스 설계

다음은 고객 정보와 주문 정보를 담고 있는 두 개의 테이블입니다.

테이블: customers | customer_id | name | email | |————-|———–|———————-| | 1 | John Doe | johndoe@example.com | | 2 | Jane Smith| janesmith@example.com|

테이블: orders | order_id | customer_id | product | quantity | price | |———-|————-|—————–|———-|——-| | 1 | 1 | Apple iPhone 12 | 2 | 1200 | | 2 | 1 | Samsung Galaxy S21| 1 | 1000 | | 3 | 2 | Google Pixel 5 | 3 | 900 |

문제 1

고객 정보와 주문 정보를 연결하여 다음과 같은 결과를 조회하는 SQL문을 작성하세요.

결과 | name | product | |———–|——————-| | John Doe | Apple iPhone 12 | | John Doe | Samsung Galaxy S21| | Jane Smith| Google Pixel 5 |

풀이 1

SELECT c.name, o.product
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id;

문제 2

고객 정보와 주문 정보를 연결하여 주문한 총 상품 가격을 계산하는 SQL문을 작성하세요.

결과 | name | total_price | |———–|————-| | John Doe | 3400 | | Jane Smith| 2700 |

풀이 2

SELECT c.name, SUM(o.quantity * o.price) AS total_price
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.name;

위의 예제에서는 customers 테이블과 orders 테이블을 customer_id 컬럼을 통해 조인하여 고객 이름과 주문 상품을 조회하고, 주문한 상품 가격의 합을 계산하였습니다. 조인을 통해 여러 테이블을 연결해서 원하는 정보를 추출하고 연산할 수 있습니다.

이렇게 SQL에서 다중 테이블 연산과 조인을 활용하면 복잡한 데이터 집합을 효율적으로 처리할 수 있습니다.

#tech_blog #SQL