From 0cb6f8d63b39fcad28f701d5d545e80ec24aed5b Mon Sep 17 00:00:00 2001 From: angelica Date: Sun, 9 Aug 2026 07:35:21 +0200 Subject: [PATCH 1/3] Solved Lab --- Basic_queries_lab.sql | 78 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 Basic_queries_lab.sql diff --git a/Basic_queries_lab.sql b/Basic_queries_lab.sql new file mode 100644 index 0000000..c2837e3 --- /dev/null +++ b/Basic_queries_lab.sql @@ -0,0 +1,78 @@ +USE sakila; + +-- 1. Display all available tables in the Sakila database. +USE sakila; +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; + +-- Additional queries +SELECT * FROM sakila.address; +SELECT * FROM sakila.cars; +SELECT * FROM sakila.category; +SELECT * FROM sakila.city; +SELECT * FROM sakila.country; +SELECT * FROM sakila.customer; +SELECT * FROM sakila.customers; +SELECT * FROM sakila.film_category; +SELECT * FROM sakila.film_text; +SELECT * FROM sakila.inventory; +SELECT * FROM sakila.invoices; +SELECT * FROM sakila.language; +SELECT * FROM sakila.payment; +SELECT * FROM sakila.rental; +SELECT * FROM sakila.staff; +SELECT * FROM sakila.store; + +-- 3. Retriefilmve the following columns from their respective tables: + + +-- 3.1 Titles of all films from the film table +SELECT title FROM sakila.film; + +-- 3.2 List of languages used in films, with the column aliased as language from the language table +SELECT name as 'language from the language table' FROM sakila.language; + +-- 3.3 List of first names of all employees from the staff table +SELECT first_name, last_name FROM sakila.staff; + + +-- 4. Retrieve unique release years. + +SELECT DISTINCT release_year FROM sakila.film; + +-- 5. Counting records for database insights: + +-- 5.1 Determine the number of stores that the company has. +SELECT count(store_id) FROM sakila.store; + +-- 5.2 Determine the number of employees that the company has. +SELECT count(staff_id) FROM sakila.staff; + +-- 5.3 Determine how many films are available for rent and how many have been rented. + +SELECT count(rental_date), count(return_date) FROM sakila.rental; + +-- 5.4 Determine the number of distinct last names of the actors in the database. +SELECT DISTINCT last_name FROM sakila.actor; + +-- 6. Retrieve the 10 longest films. +SELECT title, length FROM sakila.film +ORDER BY length DESC +LIMIT 10; + +-- Use filtering techniques in order to: 7.1 Retrieve all actors with the first name "SCARLETT". +SELECT * FROM sakila.actor +WHERE first_name = 'SCARLETT'; + + + + + + + + + From 727762d72586904a9e258e54548fa69a7e7ec187 Mon Sep 17 00:00:00 2001 From: angelica Date: Sun, 9 Aug 2026 08:06:24 +0200 Subject: [PATCH 2/3] Lab Improved --- Basic_queries_lab.sql | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/Basic_queries_lab.sql b/Basic_queries_lab.sql index c2837e3..c7922d0 100644 --- a/Basic_queries_lab.sql +++ b/Basic_queries_lab.sql @@ -34,10 +34,10 @@ SELECT * FROM sakila.store; SELECT title FROM sakila.film; -- 3.2 List of languages used in films, with the column aliased as language from the language table -SELECT name as 'language from the language table' FROM sakila.language; +SELECT name as 'language' FROM sakila.language; -- 3.3 List of first names of all employees from the staff table -SELECT first_name, last_name FROM sakila.staff; +SELECT first_name FROM sakila.staff; -- 4. Retrieve unique release years. @@ -47,24 +47,37 @@ SELECT DISTINCT release_year FROM sakila.film; -- 5. Counting records for database insights: -- 5.1 Determine the number of stores that the company has. -SELECT count(store_id) FROM sakila.store; +SELECT distinct count(store_id) FROM sakila.store; -- 5.2 Determine the number of employees that the company has. -SELECT count(staff_id) FROM sakila.staff; +SELECT distinct count(staff_id) FROM sakila.staff; -- 5.3 Determine how many films are available for rent and how many have been rented. +-- first attempt +-- SELECT count(rental_date), count(return_date) FROM sakila.rental; -SELECT count(rental_date), count(return_date) FROM sakila.rental; +-- observing timeline +-- SELECT last_update FROM sakila.inventory; -- '2006-02-15 05:09:17' + +-- quering tables +-- SELECT return_date FROM sakila.rental; + +-- Possible solution in separate steps +SELECT count(return_date) AS 'films available' FROM sakila.rental +WHERE rental_date < return_date; + +SELECT count(rental_date) AS 'films rented' FROM sakila.rental +WHERE return_date < rental_date; -- 5.4 Determine the number of distinct last names of the actors in the database. -SELECT DISTINCT last_name FROM sakila.actor; +SELECT DISTINCT count(last_name) FROM sakila.actor; -- 6. Retrieve the 10 longest films. SELECT title, length FROM sakila.film ORDER BY length DESC LIMIT 10; --- Use filtering techniques in order to: 7.1 Retrieve all actors with the first name "SCARLETT". +-- 7. Use filtering techniques in order to: 7.1 Retrieve all actors with the first name "SCARLETT". SELECT * FROM sakila.actor WHERE first_name = 'SCARLETT'; From 800ed1483222b206b4a3966facedf3cecd69231e Mon Sep 17 00:00:00 2001 From: angelica Date: Sun, 9 Aug 2026 08:30:11 +0200 Subject: [PATCH 3/3] Lab Improved 2 --- Basic_queries_lab.sql | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/Basic_queries_lab.sql b/Basic_queries_lab.sql index c7922d0..eb4a080 100644 --- a/Basic_queries_lab.sql +++ b/Basic_queries_lab.sql @@ -47,30 +47,36 @@ SELECT DISTINCT release_year FROM sakila.film; -- 5. Counting records for database insights: -- 5.1 Determine the number of stores that the company has. -SELECT distinct count(store_id) FROM sakila.store; +SELECT count(store_id) FROM sakila.store; -- 5.2 Determine the number of employees that the company has. -SELECT distinct count(staff_id) FROM sakila.staff; +SELECT count(staff_id) FROM sakila.staff; -- 5.3 Determine how many films are available for rent and how many have been rented. -- first attempt -- SELECT count(rental_date), count(return_date) FROM sakila.rental; --- observing timeline --- SELECT last_update FROM sakila.inventory; -- '2006-02-15 05:09:17' +-- How many film copies are available in the inventory? +SELECT COUNT(*) AS 'films available' +FROM sakila.inventory; --- quering tables --- SELECT return_date FROM sakila.rental; +-- How many rental transactions have occurred? +SELECT COUNT(*) AS 'films rented' +FROM sakila.rental; + +SELECT + i.inventory_id, + i.film_id, + r.rental_date, + r.return_date +FROM sakila.inventory AS i +LEFT JOIN sakila.rental AS r + ON i.inventory_id = r.inventory_id; --- Possible solution in separate steps -SELECT count(return_date) AS 'films available' FROM sakila.rental -WHERE rental_date < return_date; -SELECT count(rental_date) AS 'films rented' FROM sakila.rental -WHERE return_date < rental_date; -- 5.4 Determine the number of distinct last names of the actors in the database. -SELECT DISTINCT count(last_name) FROM sakila.actor; +SELECT count(distinct last_name) FROM sakila.actor; -- 6. Retrieve the 10 longest films. SELECT title, length FROM sakila.film