diff --git a/sakila_solutions.sql b/sakila_solutions.sql new file mode 100644 index 0000000..43b2c87 --- /dev/null +++ b/sakila_solutions.sql @@ -0,0 +1,78 @@ +USE sakila; +# 1. Display all available tables in the Sakila database. +SHOW TABLES; + +# 2. Retrieve all the data from the tables actor, film and customer. +SELECT * FROM actor; +SELECT * FROM film; +SELECT * FROM customer; + +# 3.1 Titles of all films from the film table +SELECT title +FROM film; + +# 3.2 List of languages used in films, with the column aliased as language from the language table +SELECT name AS language +FROM language; + +# 3.3 List of first names of all employees from the staff table +SELECT first_name +FROM staff; + +# 4. Retrieve unique release years +SELECT DISTINCT release_year +FROM film; + +# 5. Counting records for database insights: +# 5.1 Determine the number of stores that the company has. +SELECT COUNT(*) AS store_count +FROM store; + +# 5.2 Determine the number of employees that the company has. +SELECT COUNT(*) AS employee_count +FROM staff; + +# 5.3 Determine how many films are available for rent and how many have been rented. +SELECT + (SELECT COUNT(*) FROM inventory) AS available_for_rent, + (SELECT COUNT(*) FROM rental) AS rented; + +# if the question is about finding the films that have been rented from all, at least one time, and not the amount of total rentals: +SELECT COUNT(DISTINCT i.film_id) AS films_rented_at_least_once +FROM rental r +JOIN inventory i ON i.inventory_id = r.inventory_id; + +# 5.4 Determine the number of distinct last names of the actors in the database. +SELECT COUNT(DISTINCT last_name) AS distinct_actor_last_names +FROM actor; + +# 6. Retrieve the 10 longest films. +SELECT film_id, title, length +FROM film +ORDER BY length DESC, title +LIMIT 10; + +# 7. Use filtering techniques in order to: +# 7.1 Retrieve all actors with the first name "SCARLETT". +SELECT * +FROM actor +WHERE first_name = 'SCARLETT'; + +# BONUS: +# 7.2 Retrieve all movies that have ARMAGEDDON in their title and have a duration longer than 100 minutes. +SELECT film_id, title, length +FROM film +WHERE title LIKE '%ARMAGEDDON%' + AND length > 100; + +# 7.3 Determine the number of films that include Behind the Scenes content +SELECT COUNT(*) AS films_with_behind_the_scenes +FROM film +WHERE FIND_IN_SET('Behind the Scenes', special_features) > 0; + + + + + + +