Untitled
unknown
mysql
2 years ago
4.4 kB
6
Indexable
-- clic derecho 'set as default schema' antes de trabajar con la bd 'sakila' en mysql workbench, -- ctrl+shift+a sobre el título de la bd a trabajar con otras herramientas para el mismo fin, o... use sakila ; -- 1. muestra el título y la descripción de todas las películas que pertenecen a -- la categoría "action". select title as pelicula, description as descripcion from film left join category on category.category_id = film.film_id where category.name = "action" ; -- 2. muestra el nombre del actor y el título de las películas en las que han participado, -- ordenadas por nombre del actor de forma ascendente. select first_name as nombre_actor, last_name as apellido_actor, title as pelicula from actor join film_actor on film_actor.actor_id = actor.actor_id join film on film.film_id = film_actor.film_id order by nombre_actor asc limit 5464 ; -- 3. muestra el nombre del cliente y la cantidad de películas distintas que ha alquilado. select first_name as nombre_cliente, count(rental.rental_id) as pelicula_arrendada from customer join rental on rental.customer_id = customer.customer_id group by first_name order by pelicula_arrendada desc ; -- 4. muestra el título de las películas y el nombre del director para las películas que -- fueron lanzadas antes de 2000. -- 5. muestra el nombre del cliente, la cantidad total de dinero gastado en alquiler y -- la cantidad total de películas alquiladas, ordenados por total de dinero gastado -- de forma descendente. select first_name as nombre_cliente, count(rental.rental_id) as cantidad_rentas, sum(payment.amount) as pagado from customer join rental on rental.customer_id = customer.customer_id join payment on payment.rental_id = rental.rental_id and payment.customer_id = customer.customer_id group by nombre_cliente order by pagado desc ; -- 6. muestra el título de las películas y el nombre del actor principal para las películas -- que contienen la palabra "adventure" en la descripción. select title as pelicula, first_name as nombre_actor from film join film_actor on film.film_id = film_actor.film_id join actor on actor.actor_id = film_actor.actor_id where description like '%adventure%' ; -- 7. muestra el nombre del cliente y la fecha de alquiler de todas las películas -- alquiladas el 1 de enero de 2006. select first_name as nombre_cliente, rental_date as fecha_arriendo from rental join customer on customer.customer_id = rental.customer_id join inventory on inventory.inventory_id = rental.inventory_id where rental_date like '2006-01-01%' ; -- 8. muestra el título de las películas y el nombre del actor principal para las películas -- que no tienen un actor principal definido. select title as pelicula, first_name as nombre_actor, last_name as apellido_actor from film join film_actor on film_actor.film_id = film.film_id right join actor on actor.actor_id = film_actor.actor_id order by pelicula asc limit 5464 ; -- 9. muestra el nombre del actor y el título de las películas en las que han participado -- más de una vez. select first_name as nombre_actor, last_name as apellido_actor, title as pelicula, count(film.title) as apariciones from actor join film_actor on film_actor.actor_id = actor.actor_id join film on film.film_id = film_actor.film_id group by nombre_actor, apellido_actor, pelicula having apariciones > 1 order by apariciones desc ; -- 10. muestra el título de las películas y el nombre del cliente que -- las alquiló más recientemente. select title as pelicula, first_name as nombre_cliente, last_name as apellido_cliente, rental_date as fecha_arriendo from film join customer on customer.customer_id = film.film_id join rental on rental.rental_id = film.film_id order by fecha_arriendo desc ; -- bonus. todas las películas en las que ha aparecido cada actor. select actor.first_name as nombre_actor, actor.last_name as apellido_actor, film.title as pelicula from actor join film_actor on film_actor.actor_id = actor.actor_id join film on film.film_id = film_actor.film_id group by nombre_actor, apellido_actor, pelicula order by nombre_actor asc limit 5462 ;
Editor is loading...
Leave a Comment