From 80a0ae2d3f13702bc5725320dad38cdb21857045 Mon Sep 17 00:00:00 2001 From: ruiparreira75 Date: Tue, 2 Dec 2025 19:04:33 +0000 Subject: [PATCH 1/3] lab solved v1 --- labs_SQL_Basic_Queries.sql | 64 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 labs_SQL_Basic_Queries.sql diff --git a/labs_SQL_Basic_Queries.sql b/labs_SQL_Basic_Queries.sql new file mode 100644 index 0000000..fd9effb --- /dev/null +++ b/labs_SQL_Basic_Queries.sql @@ -0,0 +1,64 @@ +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. Retrieve the following columns from their respective tables: +-- 3.1 Titles of all films from the film table +select * 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 sakila.language; + +-- 3.3 List of first names of all employees from the staff table -- +select first_name from sakila.staff; + +-- 4 Retrieve unique release years. +select distinct(release_year) from sakila.film; + +-- Counting records for database insights: +-- 5.1 Determine the number of stores that the company has. +select count(*) from sakila.store; + +-- 5.2 Determine the number of employees that the company has. +select count(*) from sakila.staff; + +-- 5.3 Determine how many films are available for rent and how many have been rented. + SELECT + (SELECT COUNT(DISTINCT inventory_id) + FROM sakila.inventory + WHERE inventory_id NOT IN (SELECT inventory_id FROM sakila.rental WHERE return_date IS NULL)) AS available_for_rent, + + (SELECT COUNT(DISTINCT inventory_id) + FROM sakila.rental + WHERE return_date IS NULL) AS rented; + +-- 5.4 Determine the number of distinct last names of the actors in the database. +select count(distinct last_name) + from sakila.actor; + +-- 6 Retrieve the 10 longest films. +select film_id, title, length +from sakila.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 sakila.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 * from sakila.film where upper(title) like "%ARMAGEDDON%" +and length > 100; + +-- 7.3 Determine the number of films that include Behind the Scenes content +select count(*) from sakila.film where special_features like "%BEHIND THE SCENES%"; + + + From 8675608386ad4513e28cbf80529fcabee3f333e4 Mon Sep 17 00:00:00 2001 From: ruiparreira75 Date: Tue, 2 Dec 2025 19:10:00 +0000 Subject: [PATCH 2/3] lab solved v2 --- labs_SQL_Basic_Queries.sql | 64 -------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 labs_SQL_Basic_Queries.sql diff --git a/labs_SQL_Basic_Queries.sql b/labs_SQL_Basic_Queries.sql deleted file mode 100644 index fd9effb..0000000 --- a/labs_SQL_Basic_Queries.sql +++ /dev/null @@ -1,64 +0,0 @@ -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. Retrieve the following columns from their respective tables: --- 3.1 Titles of all films from the film table -select * 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 sakila.language; - --- 3.3 List of first names of all employees from the staff table -- -select first_name from sakila.staff; - --- 4 Retrieve unique release years. -select distinct(release_year) from sakila.film; - --- Counting records for database insights: --- 5.1 Determine the number of stores that the company has. -select count(*) from sakila.store; - --- 5.2 Determine the number of employees that the company has. -select count(*) from sakila.staff; - --- 5.3 Determine how many films are available for rent and how many have been rented. - SELECT - (SELECT COUNT(DISTINCT inventory_id) - FROM sakila.inventory - WHERE inventory_id NOT IN (SELECT inventory_id FROM sakila.rental WHERE return_date IS NULL)) AS available_for_rent, - - (SELECT COUNT(DISTINCT inventory_id) - FROM sakila.rental - WHERE return_date IS NULL) AS rented; - --- 5.4 Determine the number of distinct last names of the actors in the database. -select count(distinct last_name) - from sakila.actor; - --- 6 Retrieve the 10 longest films. -select film_id, title, length -from sakila.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 sakila.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 * from sakila.film where upper(title) like "%ARMAGEDDON%" -and length > 100; - --- 7.3 Determine the number of films that include Behind the Scenes content -select count(*) from sakila.film where special_features like "%BEHIND THE SCENES%"; - - - From 45be672e4ce51c0f42c251fb37bd8b9bd854c246 Mon Sep 17 00:00:00 2001 From: ruiparreira75 Date: Tue, 2 Dec 2025 19:15:40 +0000 Subject: [PATCH 3/3] labs solved v2 --- labs_SQL_Basic_Queries.sql | 65 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 labs_SQL_Basic_Queries.sql diff --git a/labs_SQL_Basic_Queries.sql b/labs_SQL_Basic_Queries.sql new file mode 100644 index 0000000..0e10524 --- /dev/null +++ b/labs_SQL_Basic_Queries.sql @@ -0,0 +1,65 @@ +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. 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 sakila.language; + +-- 3.3 List of first names of all employees from the staff table -- +select first_name from sakila.staff; + +-- 4 Retrieve unique release years. +select distinct(release_year) from sakila.film; + +-- Counting records for database insights: +-- 5.1 Determine the number of stores that the company has. +select count(*) from sakila.store; + +-- 5.2 Determine the number of employees that the company has. +select count(*) from sakila.staff; + +-- 5.3 Determine how many films are available for rent and how many have been rented. + SELECT + (SELECT COUNT(DISTINCT inventory_id) + FROM sakila.inventory + WHERE inventory_id NOT IN (SELECT inventory_id FROM sakila.rental WHERE return_date IS NULL)) AS available_for_rent, + + (SELECT COUNT(DISTINCT inventory_id) + FROM sakila.rental + WHERE return_date IS NULL) AS rented; + +-- 5.4 Determine the number of distinct last names of the actors in the database. +select count(distinct last_name) + from sakila.actor; + +-- 6 Retrieve the 10 longest films. +select film_id, title, length +from sakila.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 sakila.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 * from sakila.film where upper(title) like "%ARMAGEDDON%" +and length > 100; + +-- 7.3 Determine the number of films that include Behind the Scenes content +select count(*) from sakila.film where special_features like "%BEHIND THE SCENES%"; + + +