Lección 6: Funciones
Dentro de SQL disponemos de algunas funcionalidades, o herramientas, que nos permiten realizar operaciones interesantes sin salirnos del lenguaje: valor mínimo, valor máximo, contar, calcular la media, sumar o crear alias.
MIN()
Devuelve el valor más bajo de cierta columna.
¿Cual es la factura más baja?
SELECT MIN(Total) FROM Invoice;
0.99
MAX()
Devulve el valor más alto de cierta columna.
¿Cual es la factura más alta?
SELECT MAX(Total) FROM Invoice;
25.86
¿Quién lo pago?
SELECT FirstName, LastName FROM Customer WHERE CustomerId = (SELECT CustomerId from Invoice WHERE Total IN (SELECT MAX(Total) FROM Invoice));
Helena Holý
¡Gracias Helena! Estas pagando la universidad de mis hijos.
COUNT()
Nos ayuda a contar el número de resultados.
¿Cuantas facturas tengo del 2013?
SELECT COUNT(Total) FROM Invoice WHERE InvoiceDate LIKE '2013-%';
80
AVG()
Calcula la media. En otras palabras, suma todos los elementos y lo divide por su número.
¿Cuanto es la media de gasto por usuario?
SELECT AVG(Total) FROM Invoice;
5.65
SUM()
sUMa los valores de una columna.
¿Cuanto dinero he facturado en total?
SELECT SUM(Total) FROM Invoice;
2328.6
¿He facturado más en 2012 o 2013?
SELECT SUM(Total) FROM Invoice WHERE InvoiceDate LIKE '2012-%';
477.53
SELECT SUM(Total) FROM Invoice WHERE InvoiceDate LIKE '2013-%';
450.58
¡Ups! Estamos perdiendo dinero.
alias
Cuando disponemos de muchas columnas, con nombres más cercanos al pensamiento de un robot que a su creador, es posible que empiecen los errores (humanos).
Por ejemplo.
SELECT TrackId FROM InvoiceLine WHERE InvoiceId = 4;
TrackId
42
48
54
60
66
72
78
84
90
Podemos mejorarlo gracias a las alias, añadiendo AS
y el nuevo nombre temporal.
SELECT TrackId AS Song FROM InvoiceLine WHERE InvoiceId = 4;
Song
42
48
54
60
66
72
78
84
90
Incluso con otras columnas.
SELECT InvoiceLineId AS Id, TrackId AS Song, UnitPrice AS Price FROM InvoiceLine WHERE InvoiceId = 4;
Id | Song | Price
13 42 0.99
14 48 0.99
15 54 0.99
16 60 0.99
17 66 0.99
18 72 0.99
19 78 0.99
20 84 0.99
21 90 0.99
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
¿Me invitas a un café? ☕
Puedes hacerlo usando el terminal.
ssh customer@andros.dev -p 5555
Comentarios
Nuevo comentario
Nueva replica {{ formatEllipsisAuthor(replyComment.author) }}
Escribe el primer comentario
{{ comments.length }} comentarios