Está en la página 1de 9

- Daniela García López - Base de Datos - 07/02/2024

Con la base de datos IMDB de la Universidad de Saarland escribir un comando SELECT en SQL
para cada una de las consultas que se indican en el archivo adjunto.

1. Id, nombre y apellido de actores de género masculino

SELECT id, first_name, last_name FROM actors WHERE gender = 'M'

2. Id, nombre y apellido de actores de nombre ‘William’

SELECT id, first_name, last_name FROM actors WHERE first_name = 'William'

3. Id, nombre y apellido de actores que no se llaman ‘John’

SELECT id, first_name, last_name FROM actors WHERE first_name != 'John'


4. Nombre y calificación de las películas con ranking menor a 6

SELECT name, rank FROM movies WHERE rank < 6

5. Nombres y ranking de todas las películas filmadas en el año 2003

SELECT name, rank FROM movies WHERE year = 2003


6. Nombres y ranking de todas las películas de la década de los 90s

SELECT name, rank FROM movies WHERE year >= (1990) AND year <= (1999)

7. Nombres de los directores y los géneros de sus películas.

SELECT directors.first_name, directors.last_name, movies_genres.genre FROM directors JOIN


movies_directors ON directors.id = movies_directors.director_id JOIN movies_genres ON
movies_directors.movie_id = movies_genres.movie_id

8. Nombres de los directores que han dirigido películas del género documental.
SELECT directors.first_name, directors.last_name FROM directors JOIN movies_directors ON
directors.id = movies_directors.director_id JOIN movies_genres

ON movies_directors.movie_id = movies_genres.movie_id

WHERE movies_genres.genre = 'Documentary'

9. Nombres de películas del género drama producidas en los 80s

SELECT name FROM movies JOIN movies_genres ON movies.id = movies_genres.movie_id


WHERE genre = 'Drama' AND year >= (1980) AND year <= (1989)

10. Encontrar los nombres de películas en las que hay un ‘Doctor’ en el reparto.

SELECT movies.name FROM movies JOIN roles ON movies.id = roles.movie_id JOIN actors
ON roles.actor_id = actors.id WHERE roles.role = 'Doctor'

11. Encontrar los actores que personifican a un ‘Doctor’ en alguna película.

SELECT actors.first_name, actors.last_name FROM roles JOIN actors ON roles.actor_id =


actors.id WHERE roles.role = 'Doctor'
12. Nombres de actores o actrices que aparecen en alguna película, pero no se les dio crédito.

SELECT actors.first_name, actors.last_name, actors.id FROM actors JOIN roles

ON actors.id = roles.actor_id WHERE roles.role IS NULL

13. Mostrar el reparto (nombre y rol) de la película “Full Metal Jacket”.

SELECT actors.first_name, actors.last_name, roles.role FROM movies JOIN roles

ON movies.id = roles.movie_id JOIN actors ON roles.actor_id = actors.id

WHERE movies.name = 'Full Metal Jacket'


14. Mostrar el reparto (nombre y rol) de la película “Full Metal Jacket”, mostrando únicamente los
que no tuvieron el rol de ‘Marine’.

SELECT actors.first_name, actors.last_name, roles.role FROM movies JOIN roles

ON movies.id = roles.movie_id JOIN actors ON roles.actor_id = actors.id

WHERE movies.name = 'Full Metal Jacket' AND roles.role != 'Marine'

15. Mostrar el número de películas registradas en la base de datos.


SELECT COUNT(id) AS num_movies FROM movies

16. Mostrar el total de actores en la base de datos.

SELECT COUNT(id) AS num_actors FROM actors

17. Mostrar el toral de actrices en la base de datos.

SELECT COUNT(id) AS num_actresses FROM actors WHERE gender = 'F'

18. Encontrar cuantas películas se filmaron en cada año.

SELECT year, COUNT(name) AS num_movies FROM movies GROUP BY year


19. Encontrar en que años se filmaron más de 1 película.

20. Encontrar cuantas películas hay de cada género.

SELECT genre, COUNT(movie_id) AS num_genre FROM movies_genres GROUP BY genre

21. Encontrar cuantas películas hay del género ‘War’.

SELECT COUNT(id) AS num_war FROM movies JOIN movies_genres

ON movies.id = movies_genres.movie_id WHERE genre = 'War'

22. Encontrar de que genero hay más películas.

SELECT genre, COUNT(movie_id) AS COUNT FROM movies_genres GROUP BY genre


ORDER BY COUNT DESC LIMIT 1
23. Mostrar el número de películas que ha dirigido cada director.

SELECT director_id, COUNT(director_id) AS num_movies FROM movies_directors GROUP BY


director_id

24. Mostrar el número de películas del género drama que ha dirigido cada director.

SELECT directors.id, directors.first_name, directors.last_name, COUNT(movies.id) AS


num_drama_movies FROM directors JOIN movies_directors

ON directors.id = movies_directors.director_id JOIN movies

ON movies_directors.movie_id = movies.id JOIN movies_genres

ON movies.id = movies_genres.movie_id WHERE movies_genres.genre = 'Drama' GROUP BY


directors.id, directors.first_name, directors.last_name

25. Encontrar en que película(s) participaron el menor número de actrices.

SELECT movie_id, COUNT(actor_id) AS num_actresses FROM roles JOIN actors

ON roles.actor_id = actors.id WHERE actors.gender = 'F' GROUP BY movie_id ORDER BY


num_actresses ASC LIMIT 1

También podría gustarte