/* ATIVIDADES */
/* 0 - Exibir o cliente, a loja em que está cadastrado e o endereço da loja */
/* 1 - Exibir o filme e a categoria do filme */
/* 2 - Exibir o filme e o elenco do filme */
/* 3 - Exibir o artista e todos os filmes em que ele participou */
/* 4 - Exibir o filme e a quantidade de cópias no inventário */
/* 5 - Exibir o filme e a quantidade de cópias no inventário de cada loja */
/* 6 - Exibir o cliente e a quantidade de filmes que cada cliente já alugou em ordem decrescente */
/* 7 - Exibir o cliente e o total gasto com todas as locações por cliente */
/* 8 - Exibir o filme e a quantidade de vezes que o filme foi alugado, considerando todas as cópias do inventário */
/* 9 - Exibir o filme e o valor recebido pelas locações de cada filme, considerando todas as cópias do inventário */
/* 10 - Exibir a quantidade de clientes por loja */
/* 11 - Exibir a loja e a soma dos valores recebidos por loja */
/* 12 - Exibir  todos os filmes que ainda não foram devolvidos */
/* 13 - Exibir todos os clientes que ainda tem locações em aberto e o valor devido ou valor pago pelas locações que não foram devolvidas */
/* 14 - Exibir todos os filmes que NÃO estão mais disponíveis para locação */
/* 15 - Exibir o artista e a quantidade de filmes em que ele atuou */
/* 16 - Exibir o artista e a quantidade de filmes de cada gênero em que ele atuou */
/* 17 - Exibir a quantidade de filmes em cada gênero */
/* 18 - Exibir o gênero e a quantidade de locações por gênero ordenado do maior para o menos */
/* 19 - o id do cliente, nome completo do cliente, filmes alugados, data de locação de cada filme, data de devolução dos filmes, valor pago pela locação e a loja onde foi realizada a locação */

Exemplos:
use sakila;

show tables;

select * from customer;

select 
first_name, last_name, email
from customer
order by first_name desc;

select
concat(first_name, ' ', last_name) as cliente
from customer
order by first_name asc;

select 
title
from film
where
title like '%fantasia%';

select * from film;
select * from inventory;

select
title, 
inventory_id
from film f
inner join inventory i on f.film_id = i.film_id;

select
title,
store_id as 'loja',
count(inventory.film_id)
from film
inner join inventory on film.film_id = inventory.film_id
group by inventory.film_id, store_id;

select
title as 'filme',
film.film_id as 'id na table filme',
inventory.film_id as 'id do filme na table inventory'
from film
left join inventory on film.film_id = inventory.film_id
where
inventory.film_id is null;

/* 0 - Exibir o cliente, a loja em que está cadastrado e o endereço da loja */

select
concat(first_name, ' ', last_name) as 'cliente',
address as 'endereço',
customer.store_id
from customer
inner join store on store.store_id = customer.store_id
inner join address on address.address_id = store.address_id;

/* 1 - Exibir o filme e a categoria do filme */

select
title as 'filme',
name as 'categoria'
from film
inner join film_category on film.film_id = film_category.film_id
inner join category on category.category_id = film_category.category_id;

/* 2 - Exibir o filme e o elenco do filme */
select
title, 
concat(first_name, ' ', last_name) as 'elenco'
from film
inner join film_actor as fa on film.film_id = fa.film_id
inner join actor on actor.actor_id = fa.actor_id
order by title asc;

/* 3 - Exibir o artista e todos os filmes em que ele participou */
select 
concat(first_name, ' ', last_name) as 'elenco',
title
from film
inner join film_actor as fa on film.film_id = fa.film_id
inner join actor on actor.actor_id = fa.actor_id
order by elenco asc;

-- view
/*
criar uma view que exiba:
o id do cliente, nome completo do cliente, filmes alugados, 
data de locação de cada filme, data de devolução dos filmes,
valor pago pela locação e a loja onde foi realizada a locação
*/
create view vw_relatorio as
select
customer.customer_id as "idCliente",
concat(first_name, " ", last_name) as "cliente",
title as "filme",
rental_date as "dataLocacao", 
return_date as "dataDevolucao",
inventory.store_id as "loja",
amount as "valor"
from customer
inner join rental on customer.customer_id = rental.customer_id
inner join inventory on inventory.inventory_id = rental.inventory_id
inner join film on film.film_id = inventory.film_id
inner join payment on rental.rental_id = payment.rental_id;

select * from vw_relatorio;