-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBasicsQueries2.sql
More file actions
96 lines (81 loc) · 2.97 KB
/
Copy pathBasicsQueries2.sql
File metadata and controls
96 lines (81 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
USE sakila;
-- ¿Cuántas películas tienen una calificación de clasificación 'PG'?
SELECT COUNT(*)
AS clasificacion_pg
FROM film
WHERE rating = 'PG';
-- ¿Cuántos alquileres se realizaron en cada día de la semana?
-- DAYNAME devuelve el nombre del día de la semana en una fecha determinada
SELECT DAYNAME(rental_date)
AS dia_semana, COUNT(*) AS total_rentas
FROM rental
GROUP BY dia_semana;
-- ¿Cuál es la película con el título más largo?
-- LENGTH devuelve el número de carácteres de una cadena o variable
SELECT title, LENGTH(title)
AS longitud_titulo
FROM film
ORDER BY longitud_titulo DESC
LIMIT 1;
-- Listar los apellidos de los actores y el número de actores que tienen ese apellido, pero solo para los apellidos que son compartidos por al menos dos actores.
SELECT last_name, COUNT(*)
AS total_actores
FROM actor
GROUP BY last_name
HAVING total_actores >= 2;
-- El actor HARPO WILLIAMS fue accidentalmente ingresado en la tabla de actores como GROUCHO WILLIAMS, el nombre del esposo del segundo primo de Harpo. Escribe una consulta para corregir el registro.
UPDATE actor
SET first_name = 'HARPO'
WHERE first_name = 'GROUCHO'
AND last_name = 'WILLIAMS';
SELECT first_name, last_name FROM actor
WHERE first_name = 'HARPO';
-- ¿Qué actores tienen el nombre 'Scarlett'?
SELECT * FROM actor
WHERE first_name = 'Scarlett';
-- ¿Qué actores tienen el apellido 'Johansson'?
SELECT * FROM actor
WHERE last_name = 'Johansson';
-- ¿Cuántos apellidos distintos de actores hay?
SELECT COUNT(DISTINCT last_name)
AS total_apellidos_uq
FROM actor;
-- ¿Qué apellidos no se repiten?
-- GROUP BY agrupa las filas de una tabla que tienen valores similares en una o más columnas
-- HAVING se usa después de GB para filtrar los grupos resultantes con una condición, es como un WHERE pero aplicado a grupos
-- agrupa los apellidos que solo aparecen una vez
SELECT last_name
FROM actor
GROUP BY last_name
HAVING COUNT(*) = 1;
-- ¿Qué apellidos aparecen más de una vez?
-- Cuenta todos los apellidos, los agrupa por apellidos iguales y trae la cantidad de veces repetidos
SELECT last_name, COUNT(*)
AS total_apelidos_rep
FROM actor
GROUP BY last_name
HAVING total_apelidos_rep > 1;
-- ¿Cuántas películas tienen una duración mayor a 120 minutos?
SELECT COUNT(*)
AS total_peliculas
FROM film
WHERE length > 120;
-- ¿Cuántos clientes se registraron después del año 2020?
SELECT COUNT(*)
AS total_clientes
FROM customer
WHERE YEAR(create_date) > 2020;
-- ¿Cuántos alquileres de películas se realizaron por mes y por año?
SELECT YEAR(rental_date) AS anio, MONTH(rental_date) AS mes, COUNT(*) AS total_rentas
FROM rental
GROUP BY anio, mes
ORDER BY anio, mes;
-- ¿Cuántas películas tienen una clasificación de "R" y una duración menor a 90 minutos?
SELECT COUNT(*)
AS total_peliculas
FROM film
WHERE rating = 'R' AND length < 90;
-- ¿Cuántos actores tienen un nombre que comienza con la letra "A"?
SELECT COUNT(*) AS total_actores
FROM actor
WHERE first_name LIKE 'A%';