From 5f5b3706f77f496c7aa3516da63150288e40c12d Mon Sep 17 00:00:00 2001 From: Kseniia Iukhlina Date: Tue, 4 Aug 2026 20:15:14 +0200 Subject: [PATCH 1/2] Solved lab --- lab-sql-basic-queries.sql | 84 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 lab-sql-basic-queries.sql diff --git a/lab-sql-basic-queries.sql b/lab-sql-basic-queries.sql new file mode 100644 index 0000000..c35ca7b --- /dev/null +++ b/lab-sql-basic-queries.sql @@ -0,0 +1,84 @@ +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. +-- 2.1. Retrieve all the data from the tables actor. +SELECT * +FROM actor; + +-- 2.2. Retrieve all the data from the tables film. +SELECT * +FROM film; + +-- 2.3. Retrieve all the data from the tables customer. +SELECT * +FROM customer; + + +-- 3. Retrieve the following columns from their respective tables: +-- 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(*) +FROM store +WHERE store_id IS NOT NULL; + +-- 5.2 Determine the number of employees that the company has. +SELECT COUNT(*) +FROM staff +WHERE staff_id IS NOT NULL; + +-- 5.3 Determine how many films are available for rent and how many have been rented. +-- 5.3.1 Determine how many films are available for rent +SELECT COUNT(DISTINCT film_id) as amount_of_avaliable_films +FROM inventory +WHERE film_id IS NOT NULL; + +-- 5.3.2 Determine how many films have been rented +SELECT COUNT(DISTINCT film_id) as amount_of_rented_films +FROM inventory +WHERE inventory_id IN (SELECT inventory_id from rental); + +-- 5.4 Determine the number of distinct last names of the actors in the database. +SELECT COUNT(DISTINCT last_name) as last_name_count +FROM actor; + +-- 6. Retrieve the 10 longest films. +SELECT * +FROM film +ORDER BY length DESC +LIMIT 10; + +-- 7. Use filtering techniques in order to: +-- 7.1 Retrieve all actors with the first name "SCARLETT". +SELECT * +FROM actor +WHERE UPPER(first_name) = "SCARLETT"; + +-- 7.2 Retrieve all movies that have ARMAGEDDON in their title and have a duration longer than 100 minutes. +SELECT title +FROM film +WHERE title IS NOT NULL AND length > 100 AND title LIKE '%ARMAGEDDON%'; + +-- 7.3 Determine the number of films that include Behind the Scenes content +SELECT title, special_features +FROM film +WHERE special_features LIKE '%Behind the Scenes%'; From 431a50cc745376d15ed93bbe883c6cc3cf155273 Mon Sep 17 00:00:00 2001 From: Kseniia Iukhlina Date: Tue, 4 Aug 2026 20:26:08 +0200 Subject: [PATCH 2/2] Updated lab --- lab-sql-basic-queries.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lab-sql-basic-queries.sql b/lab-sql-basic-queries.sql index c35ca7b..d8f40a4 100644 --- a/lab-sql-basic-queries.sql +++ b/lab-sql-basic-queries.sql @@ -48,12 +48,12 @@ WHERE staff_id IS NOT NULL; -- 5.3 Determine how many films are available for rent and how many have been rented. -- 5.3.1 Determine how many films are available for rent -SELECT COUNT(DISTINCT film_id) as amount_of_avaliable_films +SELECT COUNT(film_id) as amount_of_avaliable_films FROM inventory WHERE film_id IS NOT NULL; -- 5.3.2 Determine how many films have been rented -SELECT COUNT(DISTINCT film_id) as amount_of_rented_films +SELECT COUNT(film_id) as amount_of_rented_films FROM inventory WHERE inventory_id IN (SELECT inventory_id from rental); @@ -79,6 +79,6 @@ FROM film WHERE title IS NOT NULL AND length > 100 AND title LIKE '%ARMAGEDDON%'; -- 7.3 Determine the number of films that include Behind the Scenes content -SELECT title, special_features +SELECT COUNT(title) as 'count of titles with Behind the Scenes content' FROM film WHERE special_features LIKE '%Behind the Scenes%';