SQL의 기본적인 쿼리문을 작성할 수 있다면, 달리기반 과제에 도전해보아요.
단순 문법을 사용하는 것 뿐 아니라 내가 정말 원하는 데이터를 출력하기 위한 한 걸음이 될 거예요!
과제를 수행하고 나면 할 수 있어요!
•
여러 테이블 간의 관계를 이해하고 이를 조인하여 필요한 데이터를 추출할 수 있다.
•
고객별 총 구매 금액, 주문 수, 카테고리별 최다 판매 제품 등 데이터를 다양한 기준으로 집계하는 능력을 기를 수 있다.
•
특정 조건에 맞는 데이터를 서브쿼리로 추출하고, 이를 메인 쿼리의 결과에 반영하는 방법을 익힐 수 있다.
•
판매 데이터를 분석하여 고객과 제품의 판매 패턴을 이해하고, 이를 SQL로 표현할 수 있다.
•
복잡한 쿼리를 작성하면서 성능을 고려하여 효율적인 SQL 쿼리를 작성하는 능력을 키울 수 있다.
Notification: 과제 시작 전 확인할 내용!
과제 시작 전 다음 내용을 셀프 체크해보세요.
SELECT, FROM, WHERE, JOIN 등의 기본 SQL 문법
INNER JOIN, LEFT JOIN 등을 사용해 여러 테이블을 결합하는 방법
SUM, COUNT, MAX 등의 집계 함수와 이를 GROUP BY와 함께 사용하는 방법
본격적으로 시작해 볼까요?
문제:
Products 테이블:
ProductID | ProductName | Category | Price |
1 | Laptop | Electronics | 1000 |
2 | Smartphone | Electronics | 800 |
3 | Headphones | Electronics | 150 |
4 | Coffee Maker | Home | 200 |
5 | Blender | Home | 100 |
Orders 테이블:
OrderID | ProductID | OrderDate | Quantity | CustomerID |
101 | 1 | 2024-02-01 | 2 | 1 |
102 | 3 | 2024-02-02 | 1 | 2 |
103 | 2 | 2024-02-03 | 1 | 1 |
104 | 4 | 2024-02-04 | 3 | 3 |
105 | 1 | 2024-02-05 | 1 | 2 |
106 | 5 | 2024-02-06 | 2 | 3 |
Customers 테이블:
CustomerID | CustomerName | Country |
1 | Alice | USA |
2 | Bob | UK |
3 | Charlie | USA |
요구사항:
1.
각 고객이 구매한 모든 제품의 총 금액을 계산하고, 고객 이름, 총 구매 금액, 주문 수를 출력하는 SQL 쿼리를 작성해주세요.
CustomerName | TotalAmount | OrderCount |
Alice | 2600 | 3 |
Bob | 950 | 2 |
Charlie | 800 | 2 |
2.
각 제품 카테고리별로 가장 많이 팔린 제품의 이름과 총 판매량을 조회하는 SQL 쿼리를 작성해주세요.
Category | Top_Product | TotalSold |
Electronics | Laptop | 3 |
Home | Coffee Maker | 3 |
제약사항:
•
두 쿼리 모두 서브쿼리, JOIN, GROUP BY, HAVING 등의 SQL 기능을 사용해 문제를 풀어야 합니다.
•
여러 테이블 간의 관계를 명확히 이해하고, 데이터를 효율적으로 결합하는 것이 중요해요!
완료하셨다면?
•
원활하게 작동되는 정답코드를 퀘스트로 제출해주세요
Google Docs[내일배움캠프] Spring 6기 퀘스트 제출하기
![link icon](https://ssl.gstatic.com/docs/forms/device_home/android_192.png)