고급 SQL 기술과 기능을 활용한 연습문제

해당 연습문제는 고급 SQL 기술과 다양한 기능을 활용하여 문제를 해결하는 것을 목표로 합니다. 아래의 문제를 통해 SQL의 다양한 기능을 익히고, 실제 상황에서 어떻게 적용할 수 있는지에 대해 고민해보세요.

문제 1: 주문 통계 조회하기

문제 설명

주문 관련 데이터를 포함하는 orders 테이블과, 고객 관련 데이터를 포함하는 customers 테이블이 있다고 가정합니다. orders 테이블에는 주문 번호, 주문 날짜, 고객 ID 등의 정보가 있으며, customers 테이블에는 고객 ID, 고객 이름, 고객 이메일 등의 정보가 있습니다.

주문 데이터를 활용하여 다음과 같은 통계 정보를 조회하는 SQL을 작성해보세요:

  1. 총 주문 수
  2. 각 고객별 주문 수
  3. 가장 많이 주문한 고객 정보
  4. 각 월별 주문 수

해결 방법

-- 1. 총 주문 수
SELECT COUNT(*) AS total_orders
FROM orders;

-- 2. 각 고객별 주문 수
SELECT customer_id, COUNT(*) AS order_count
FROM orders
GROUP BY customer_id;

-- 3. 가장 많이 주문한 고객 정보
SELECT c.customer_id, c.customer_name, COUNT(*) AS order_count
FROM orders o
JOIN customers c
ON o.customer_id = c.customer_id
GROUP BY o.customer_id
ORDER BY order_count DESC
LIMIT 1;

-- 4. 각 월별 주문 수
SELECT EXTRACT(MONTH FROM order_date) AS order_month, COUNT(*) AS order_count
FROM orders
GROUP BY order_month;

참고 자료

  1. SQL 총 함수
  2. SQL 그룹화
  3. SQL 조인
  4. SQL 날짜 함수

해시태그

#SQL #고급SQL #데이터베이스