문제 1: 영화 장르별 영화 수
film 테이블과 category 테이블을 조인하여
각 장르별 영화 수를 계산하세요.
name으로 장르를 나타내고,
영화 수를 film_count로 표시하세요.
select c.name,count(c.name) as film_count
from film f
inner join film_category fc using (film_id)
inner join category c using (category_id)
group by c.name
;
--답안
SELECT c.name, COUNT(f.film_id) AS film_count
FROM category c
JOIN film_category fc ON c.category_id = fc.category_id
JOIN film f ON fc.film_id = f.film_id
GROUP BY c.name;
문제 2: 고객별 대여 횟수
customer 테이블과 rental 테이블을 조인하여
각 고객별로 대여한 영화의 총 횟수를 계산하세요.
customer_id와 대여 횟수를 rental_count로 표시하세요.
select c.customer_id, count(c.customer_id) rental_count
from customer c
inner join rental r using (customer_id)
group by c.customer_id;
--답안
--2
SELECT c.customer_id, COUNT(r.rental_id) AS rental_count
FROM customer c
JOIN rental r ON c.customer_id = r.customer_id
GROUP BY c.customer_id;
문제 3: 스토어별 재고 수
inventory 테이블을 사용하여
각 스토어별로 보유한 재고의 총 수를 계산하세요.
store_id와 재고 수를 inventory_count로 표시하세요.
select store_id, count(store_id) inventory_count
from inventory i
group by store_id;
--답안
SELECT store_id, COUNT(inventory_id) AS inventory_count
FROM inventory
GROUP BY store_id;
문제 4: 언어별 영화 수
film 테이블과 language 테이블을 조인하여
각 언어별 영화 수를 계산하세요. name으로 언어를 나타내고, 영화 수를 film_count로 표시하세요.
select l.name as name, count(language_id) as film_count
from film f
inner join "language" l using (language_id)
group by l.name;
--답안
SELECT l.name, COUNT(f.film_id) AS film_count
FROM language l
JOIN film f ON l.language_id = f.language_id
GROUP BY l.name;
문제 5: 배우별 출연 영화 수
actor 테이블과 film_actor 테이블을 조인하여
각 배우별로 출연한 영화의 수를 계산하세요.
actor_id, first_name, last_name와 출연 영화 수를 film_count로 표시
select a.actor_id, first_name, last_name, count(a.actor_id) as film_count
from actor a
join film_actor fa using (actor_id)
join film f using (film_id)
group by a.actor_id;
--답안
SELECT a.actor_id, a.first_name, a.last_name, COUNT(fa.film_id) AS film_count
FROM actor a
JOIN film_actor fa ON a.actor_id= fa.actor_id
GROUP BY a.actor_id, a.first_name, a.last_name;
film 테이블은 조인할 필요가 없음