Lección 6: Funciones | Curso SQL

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

6-1

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me invitas a un café? ☕

Puedes hacerlo usando el terminal.

ssh customer@andros.dev -p 5555

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario