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

¿Te ayudo?

  • 1 café: ¡Gracias por el apoyo! Te ayudo a que esta web siga estando online pagando los servidores.
  • 2 cafés: Respondo a una duda en los comentarios.
  • 4 cafés: Te corrijo una actividad y te envío feedback.
Comprame un café

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

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

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

Escribe el primer comentario