Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions sakila.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
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 sakila.actor;
SELECT * FROM sakila.film;
SELECT * FROM sakila.customer;
-- 3. Retrieve the following columns from their respective tables:
-- 3.1 Titles of all films from the film table
SELECT film.title FROM sakila.film;

-- 3.2 List of languages used in films, with the column aliased as language from the language table
SELECT l.name AS language
FROM sakila.language AS l
JOIN sakila.film AS f
ON f.language_id = l.language_id;

-- 3.3 List of first names of all employees from the staff table
SELECT s.first_name, s.last_name FROM sakila.staff AS s;

-- 4. Retrieve unique release years.
SELECT DISTINCT f.release_year FROM sakila.film AS f;

-- 5. Counting records for database insights:
-- 5.1 Determine the number of stores that the company has.
SELECT COUNT(st.store_id) FROM sakila.store AS st;

-- 5.2 Determine the number of employees that the company has.
SELECT COUNT(s.staff_id) FROM sakila.staff AS s;
-- 5.3 Determine how many films are available for rent and how many have been rented.
-- check table and column information to see which columns I need
SELECT * FROM sakila.rental;


SELECT COUNT(r.inventory_id)
FROM sakila.rental AS r
WHERE r.return_date IS NULL;

(SELECT COUNT(r.inventory_id) FROM sakila.rental AS r
WHERE r.return_date IS NOT NULL);

-- 5.4 Determine the number of distinct last names of the actors in the database.
SELECT COUNT(DISTINCT a.last_name) FROM sakila.actor AS a;

-- 6. Retrieve the 10 longest films.
SELECT f.title, f.length FROM sakila.film AS f
ORDER BY f.length DESC
LIMIT 10;

-- 7. Use filtering techniques in order to:
-- 7.1 Retrieve all actors with the first name "SCARLETT".
SELECT a.first_name, a.last_name
FROM sakila.actor AS a
WHERE a.first_name = "SCARLETT";

-- BONUS:
-- 7.2 Retrieve all movies that have ARMAGEDDON in their title and have a duration longer than 100 minutes.
-- Hint: use LIKE operator.
-- checking table to see how values are displayed
SELECT * FROM sakila.film;

SELECT * FROM sakila.film AS f
WHERE f.length >= 100 AND f.title LIKE '%ARMAGEDDON%';

-- 7.3 Determine the number of films that include Behind the Scenes content
SELECT count(film_id) FROM sakila.film AS f
WHERE f.special_features LIKE '%Behind the Scenes%';