Search
🛍️

Lv4. 단골 고객님 찾기

SQL의 기본적인 쿼리문을 작성할 수 있다면, 달리기반 과제에 도전해보아요. 단순 문법을 사용하는 것 뿐 아니라 내가 정말 원하는 데이터를 출력하기 위한 한 걸음이 될 거예요!

과제를 수행하고나 나면 할 수 있어요!

LEFT JOIN을 사용해 기본 테이블에 결합하고, 주문이 없는 고객도 포함하는 방법을 익힐 수 있다.
고객별로 주문 건수 및 총 주문 금액을 계산할 수 있으며, 이를 GROUP BYCOUNT, SUM을 사용해 처리할 수 있다.
나라별로 가장 많은 주문 금액을 사용한 고객을 찾기 위해 서브쿼리와 HAVING을 결합해 조건부 집계를 수행할 수 있다.
JOIN, 서브쿼리, GROUP BY, HAVING 등을 조합해 복잡한 쿼리 요구사항을 해결할 수 있다.
Notification: 과제 시작 전 확인할 내용!

 과제 시작 전 다음 내용을 셀프 체크해보세요.

SELECT, FROM, WHERE, JOIN 등의 기본 문법
LEFT JOININNER JOIN의 차이를 이해하고, 이를 활용해 테이블을 결합하는 방법
COUNT, SUM 등의 집계 함수를 사용해 데이터를 요약하는 방법을 이해
본격적으로 시작해 볼까요?

문제:

Orders 테이블:
OrderID
CustomerID
OrderDate
TotalAmount
101
1
2024-01-01
150
102
2
2024-01-03
200
103
1
2024-01-04
300
104
3
2024-01-04
50
105
2
2024-01-05
80
106
4
2024-01-06
400
Customers 테이블:
CustomerID
CustomerName
Country
1
Alice
USA
2
Bob
UK
3
Charlie
USA
4
David
Canada

요구사항:

1.
고객별로 주문 건수와 총 주문 금액을 조회하는 SQL 쿼리를 작성해주세요.
a.
출력 결과에는 고객 이름, 주문 건수, 총 주문 금액이 포함되어야 합니다. 단, 주문을 한 적이 없는 고객도 결과에 포함되어야 합니다.
b.
기대결과
CustomerName
OrderCount
TotalSpent
Alice
2
450
Bob
2
280
Charlie
1
50
David
1
400
2.
나라별로 총 주문 금액이 가장 높은 고객의 이름과 그 고객의 총 주문 금액을 조회하는 SQL 쿼리를 작성해주세요.
a.
기대결과
Country
Top_Customer
Top_Spent
USA
Alice
450
UK
Bob
280
Canada
David
400

제약사항:

두 쿼리 모두 서브쿼리, JOIN, GROUP BY, HAVING 등을 사용해 풀 수 있어야 한다.
주문을 한 적이 없는 고객도 첫 번째 쿼리 결과에 포함되어야 한다.
완료하셨다면?
원활하게 작동되는 정답코드를 퀘스트로 제출해주세요 link iconGoogle Docs[내일배움캠프] Spring 6기 퀘스트 제출하기