From cc15f5a95c9a27df50c3b45fff47427ee3d24c10 Mon Sep 17 00:00:00 2001 From: nailaikhenazenni-afk Date: Mon, 4 May 2026 08:16:33 +0200 Subject: [PATCH 1/5] Create resolved_lab_subqueries.sql --- resolved_lab_subqueries.sql | 50 +++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 resolved_lab_subqueries.sql diff --git a/resolved_lab_subqueries.sql b/resolved_lab_subqueries.sql new file mode 100644 index 0000000..bd43c88 --- /dev/null +++ b/resolved_lab_subqueries.sql @@ -0,0 +1,50 @@ +USE sakila; + +SELECT + f.title, + COUNT(i.inventory_id) AS number_of_copies +FROM +film f +JOIN + sakila.inventory i ON f.film_id = i.film_id +WHERE + f.title = 'HUNCHBACK IMPOSSIBLE' +GROUP BY + f.title; + +SELECT + title, + length +FROM + film +WHERE + length > (SELECT AVG(length) FROM film) +ORDER BY + length DESC; + +SELECT + first_name, + last_name +FROM + actor +WHERE + actor_id IN ( + SELECT + actor_id + FROM + film_actor + WHERE + film_id = ( + SELECT + film_id + FROM + film + WHERE + title = 'ALONE TRIP' + ) + ); + + + + + \ No newline at end of file From de1ff699445e6e4c184076ebb1e83eabd90a45f2 Mon Sep 17 00:00:00 2001 From: nailaikhenazenni-afk Date: Mon, 11 May 2026 08:23:06 +0200 Subject: [PATCH 2/5] Update resolved_lab_subqueries.sql --- resolved_lab_subqueries.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resolved_lab_subqueries.sql b/resolved_lab_subqueries.sql index bd43c88..afde8d3 100644 --- a/resolved_lab_subqueries.sql +++ b/resolved_lab_subqueries.sql @@ -5,12 +5,12 @@ SELECT COUNT(i.inventory_id) AS number_of_copies FROM film f -JOIN +LEFT JOIN sakila.inventory i ON f.film_id = i.film_id WHERE - f.title = 'HUNCHBACK IMPOSSIBLE' + f.title = 'Hunchback Impossible' GROUP BY - f.title; + f.film_id; SELECT title, @@ -40,7 +40,7 @@ WHERE FROM film WHERE - title = 'ALONE TRIP' + title = 'Alone Trip' ) ); From d373b81578ed69ecaac0112be5454d24f8faeea4 Mon Sep 17 00:00:00 2001 From: nailaikhenazenni-afk Date: Mon, 11 May 2026 08:39:02 +0200 Subject: [PATCH 3/5] Update resolved_lab_subqueries.sql --- resolved_lab_subqueries.sql | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/resolved_lab_subqueries.sql b/resolved_lab_subqueries.sql index afde8d3..125c31e 100644 --- a/resolved_lab_subqueries.sql +++ b/resolved_lab_subqueries.sql @@ -1,8 +1,7 @@ -USE sakila; SELECT - f.title, - COUNT(i.inventory_id) AS number_of_copies + + COUNT(i.inventory_id) AS number_of_copies FROM film f LEFT JOIN @@ -34,7 +33,7 @@ WHERE FROM film_actor WHERE - film_id = ( + film_id IN ( SELECT film_id FROM From e1effdbd7c888a6e2ceded8afd6ee1c47a6839d2 Mon Sep 17 00:00:00 2001 From: nailaikhenazenni-afk Date: Tue, 19 May 2026 21:12:09 +0200 Subject: [PATCH 4/5] Update resolved_lab_subqueries.sql --- resolved_lab_subqueries.sql | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/resolved_lab_subqueries.sql b/resolved_lab_subqueries.sql index 125c31e..2af4275 100644 --- a/resolved_lab_subqueries.sql +++ b/resolved_lab_subqueries.sql @@ -1,15 +1,12 @@ SELECT - - COUNT(i.inventory_id) AS number_of_copies + COUNT(i.inventory_id) AS number_of_copies FROM -film f + film f LEFT JOIN sakila.inventory i ON f.film_id = i.film_id WHERE - f.title = 'Hunchback Impossible' -GROUP BY - f.film_id; + f.title = 'Hunchback Impossible'; SELECT title, From 8a955f7c974881b2f7880d92948858cad8a8793d Mon Sep 17 00:00:00 2001 From: nailaikhenazenni-afk Date: Mon, 25 May 2026 01:00:52 +0200 Subject: [PATCH 5/5] Update resolved_lab_subqueries.sql --- resolved_lab_subqueries.sql | 87 ++++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) diff --git a/resolved_lab_subqueries.sql b/resolved_lab_subqueries.sql index 2af4275..1c5fb7c 100644 --- a/resolved_lab_subqueries.sql +++ b/resolved_lab_subqueries.sql @@ -40,7 +40,92 @@ WHERE ) ); - + SELECT + f.film_id, + f.title AS film_title, + c.name AS category_name +FROM film f +JOIN film_category fc ON f.film_id = fc.film_id +JOIN category c ON fc.category_id = c.category_id +WHERE c.name = 'Family' +ORDER BY f.title ASC; + +SELECT + co.country, + cu.first_name, + cu.last_name, + cu.email +FROM customer cu +JOIN address a ON cu.address_id = a.address_id +JOIN city ci ON a.city_id = ci.city_id +JOIN country co ON ci.country_id = co.country_id +WHERE co.country = 'Canada' +ORDER BY cu.last_name ASC; + +SELECT + first_name, + last_name, + email +FROM customer +WHERE address_id IN ( + SELECT address_id + FROM address + WHERE city_id IN ( + SELECT city_id + FROM city + WHERE country_id = ( + SELECT country_id + FROM country + WHERE country = 'Canada' + ) + ) +); + +SELECT + f.film_id, + f.title AS film_title +FROM film f +JOIN film_actor fa ON f.film_id = fa.film_id +WHERE fa.actor_id = ( + -- Subconsulta: Encuentra el ID del actor más prolífico + SELECT actor_id + FROM film_actor + GROUP BY actor_id + ORDER BY COUNT(film_id) DESC + LIMIT 1 +) +ORDER BY f.title ASC; + +SELECT DISTINCT + f.title AS film_title +FROM film f +JOIN inventory i ON f.film_id = i.film_id +JOIN rental r ON i.inventory_id = r.inventory_id +WHERE r.customer_id = ( + -- Subconsulta: Encuentra el ID del cliente con mayor gasto acumulado + SELECT customer_id + FROM payment + GROUP BY customer_id + ORDER BY SUM(amount) DESC + LIMIT 1 +) +ORDER BY f.title ASC; + +SELECT + customer_id AS client_id, + SUM(amount) AS total_amount_spent +FROM payment +GROUP BY customer_id +HAVING SUM(amount) > ( + -- Subconsulta: Calcula el promedio de lo que ha gastado cada cliente + SELECT AVG(total_por_cliente) + FROM ( + SELECT SUM(amount) AS total_por_cliente + FROM payment + GROUP BY customer_id + ) AS subquery_promedio +) +ORDER BY total_amount_spent DESC; \ No newline at end of file