Skip to content

3 principales funciones en sql

@intelguasoft edited this page Jan 22, 2020 · 1 revision

Curso Master PHP

Principales funciones SQL

El lenguaje SQL tiene funciones incorporadas para hacer cálculos sobre los datos. Las funciones se pueden dividir en dos grupos (existen muchas mas, que dependen del sistema de bases de datos que se utilice):

Funciones agregadas SQL, devuelven un sólo valor, calculado con los valores de una columna.

  1. AVG() - La media de los valores
  2. COUNT() - El número de filas
  3. MAX() - El valor más grande
  4. MIN() - El valor más pequeño
  5. SUM() - La suma de los valores
  6. GROUP BY - Es una sentencia que va muy ligada a las funciones agregadas

Funciones escalares SQL, devuelven un sólo valor basándose en el valor de entrada. 7. UCASE() - Convierte un campo a mayúsculas 8. LCASE() - Convierte un campo a minúsculas 9. MID() - Extrae caracteres de un campo de texto 10. LEN() - Devuelve la longitud de un campo de texto 11. NOW() - Devuelve la hora y fecha actuales del sistema 12. FORMAT() - Da formato a un formato para mostrarlo

Para la explicación de las funciones, una de las tablas con las que vamos a trabajar es Productos:

ProductoID NombreProducto Descripcion Precio Stock
1 Camiseta Camiseta negra simple de talla única 10 16
2 Pantalón Pantalón largo azul tipo chino 20 24
3 Gorra Gorra azul con el logo de los Yankees 15 32
4 Zapatillas Zapatillas de running de color blanco y verde 35 13

Funciones agregadas SQL

1. AVG()

La función AVG() devuelve la media de valores de una columna numérica.

SELECT AVG (nombreColumna) FROM nombreTabla;

La siguiente sentencia SQL devuelve la media del stock que hay en el almacén:

SELECT AVG (Stock) FROM Productos;

La siguiente sentencia muestra el NombreProducto y el Precio de los registros que tienen un Precio por encima de la media:

SELECT NombreProducto, Precio FROM Productos
WHERE Precio > (SELECT AVG (Precio) FROM Productos);

2. COUNT()

La función COUNT() devuelve el número de filas que cumplen con un determinado criterio:

Número de valores en una columna (los valores NULL no se cuentan):

SELECT COUNT (nombreColumna) FROM nombreTabla;

Número de registros en una tabla

SELECT COUNT (*) FROM nombreTabla;

Número de valores distintos de una columna

SELECT COUNT (DISTINCT nombreColumna) FROM nombreTabla;

Vamos a emplear ahora la tabla Pedidos:

PedidoID ClienteID Factura
234 4 160
235 5 48
236 12 64
237 4 92

Si queremos conocer el número de pedidos del cliente número 4:

SELECT COUNT (ClienteID) AS PedidosCliente4 FROM Pedidos
WHERE ClienteID = 4;

Si queremos simplemente contar el número de pedidos totales:

SELECT COUNT(*) AS PedidosTotales FROM Pedidos;

Si queremos contar el número de clientes únicos desde la tabla Pedidos:

SELECT COUNT (DISTINCT ClienteID) AS NumeroClientes FROM Pedidos;

3. MAX()

La función MAX() devuelve el mayor valor de la columna seleccionada:

SELECT MAX (nombreColumna) FROM nombreTabla;

De la tabla productos vamos a coger el producto más caro:

SELECT MAX (Precio) AS ProductoMasCaro FROM Productos;

4. MIN()

La función MIN() devuelve el menor valor de la columna seleccionada:

SELECT MIN (nombreColumna) FROM nombreTabla;

De la tabla productos vamos a coger el producto más barato:

SELECT MIN (Precio) AS ProductoMasBarato FROM Productos;

5. SUM()

La función SUM() devuelve la suma de una columna numérica:

SELECT SUM (nombreColumna) FROM nombreTabla;

De la tabla productos vamos a coger el número total de productos en stock:

SELECT SUM (Stock) AS ProductosTotales FROM Productos;

6. GROUP BY

La sentencia GROUP BY se utiliza junto con las funciones agregadas para agrupar en un result-set una o más columnas.

SELECT nombreColumna, funcion_agregada(nombreColumna)
FROM nombreTabla
WHERE nombreColumna operador valor
GROUP BY nombreColumna;

Si tenemos las tablas Productos, Pedidos y Clientes:

Productos:

ProductoID NombreProducto Descripcion Precio Stock
1 Camiseta Camiseta negra simple de talla única 10 16
2 Pantalón Pantalón largo azul tipo chino 20 24
3 Gorra Gorra azul con el logo de los Yankees 15 32
4 Zapatillas Zapatillas de running de color blanco y verde 35 13

Pedidos:

PedidoID ClienteID Factura
234 4 160
235 5 48
236 12 64
237 4 92

Clientes:

ClienteID NombreCliente Contacto
1 Lorena Higgins 456443552
2 Raúl González 445332221
3 Carmen Smith 488982635
4 Fernando Stewart 412436773

Vamos a obtener el número de pedidos realizados por cada cliente:

SELECT Clientes.NombreCliente, Count(Pedidos.PedidoID) AS NumeroPedidos FROM Pedidos
LEFT JOIN Clientes
ON Pedidos.ClienteID = Clientes.ClienteID
GROUP BY NombreCliente;

Podemos utilizar GROUP BY en más de una columna:

SELECT Clientes.NombreCliente, Productos.NombreProducto, COUNT (Pedidos.PedidoID) AS NumeroPedidos
FROM ((Pedidos
INNER JOIN Clientes ON Pedidos.ClienteID = Clientes.ClienteID)
INNER JOIN Productos ON Pedidos.ProductoID = Productos.ProductoID)
GROUP BY NombreCliente, NombreProducto;

Funciones escalares SQL

7. UCASE()

La función UCASE() convierte el valor de un campo a mayúsculas.

SELECT UCASE (nombreColumna) FROM nombreTabla;

Si queremos obtener todos los nombres de los clientes en mayúsculas:

SELECT UCASE (NombreCliente) AS Cliente FROM Clientes;

8. LCASE()

La función LCASE() convierte el valor de un campo en minúsculas:

SELECT LCASE (nombreColumna) FROM nombreTabla;

Si queremos obtener todos los nombres de los clientes en minúsculas:

SELECT LCASE (NombreCliente) FROM Clientes;

9. MID()

La función MID() se usa para extraer caracteres desde un campo de texto.

SELECT MID (nombreColumna, inicio [, longitud]) AS unAlias FROM nombreTabla;

Los campos obligatorios son nombreColumna e inicio (especifica la posición donde comenzar la extracción). El campo opcional es longitud, que especifica el número de caracteres a devolver. Si se omite, devuelve todos los caracteres hasta el final del texto.

Vamos a extraer por ejemplo los primeros cuatro caracteres de NombreProducto de la tabla Productos:

SELECT MID (nombreProducto, 1, 4) AS ProductoCorto
From Productos;

10. LEN()

La función LEN() devuelve la longitud de un campo de texto.

SELECT LEN (nombreColumna) FROM nombreTabla;

Si queremos obtener nombreProducto y la longitud de las descripciones de los productos de la tabla Productos:

SELECT NombreProducto, LEN(Descripcion) as LongitudDescripcion
FROM Productos;

11. NOW()

La función NOW() devuelve la hora y fecha actuales.

SELECT NOW() FROM nombreTabla;

Si queremos devolver el nombreProducto y Precio de hoy de la tabla Productos:

SELECT NombreProducto, Precio, Now() AS PrecioProductosHoy FROM Productos;

12. FORMAT()

La función FORMAT() se usa para formatear cómo se mostrará un campo.

SELECT FORMAT(nombreColumna, formato) FROM nombreTabla;

Vamos a mostrar un formato de fecha del ejemplo anterior:

SELECT NombreProducto, Precio, FORMAT(Now(), 'YYYY-MM-DD') AS PrecioProductosHoy FROM Productos;
Anterior Siguiente

Indice de contenidos

Básicos Sintaxis básica
Operadores
Operadores bit a bit
Variables
Estructuras de control
Constantes y constructores base
Espacio de nombres
Extensiones
Configuraciones
Variables al descubierto
Recolector de basuras
Rendimiento (Performance)
Funciones Funciones
Argumentos en funciones
Funciones variables
Valores por referencia en funciones
Funciones que devuelven algo
Ámbito de variables
Funciones anónimas y closure's
Cadenas y patrones Las comillas y las cadenas de caracteres
Heredoc y Nowdoc
Comparando cadenas de caracteres
Extracción en cadenas de caracteres
Análisis en cadenas de caracteres
Reemplazos en cadenas de caracteres
Formato de cadena de caracteres
Expresiones regulares (RegEx)
Codificación de caracteres
Codificación en cadenas de caracteres
Arreglos (Array's) Arreglos
Arreglos asociativos
Iterar arreglos
Funciones de arreglos
SPL Arreglos mediante objetos
Conversión de arreglos
Archivos (I/O) Manejo de archivos
Lectura de archivos
Escritura de archivos
Funciones del sistema de archivos
Socket's y archivos
Streams (?)
Seguridad Concepto y funcionamiento CGI
Configurando la seguridad
Seguridad en Sesiones
Ataques XSS
Ataques CSRF
Ataques SQLInjection
Ataques CodeInjection
Ataques EmailInjection
Filtrado de datos de entrada
Escape de datos de salida
Encriptación y contraseñas
Seguridad en el almacenamiento de datos
Seguridad en la subida de datos
SSL y OpenSSL
Base de datos Principios básicos SQL
Los joins en SQL
Principales funciones SQL
Preparando sentencias SQL
Transacciones en SQL
Algo de PDO
Programación Orientada a Objetos Instancias de clases
Modificadores y herencia de clases
Interfaces
Excepciones
Auto-carga (Autoload)
Reflexión (Reflection)
Determinación de tipos (Type hinting)
Constantes de clase
Enlace estático de ejecución (Late Static Binding)
Métodos mágicos
Librería estándar PHP (SPL)
Generadores (Generators)
Traits
Clases abstractas
Formatos de información Algo de XML
Algo de SimpleXML
Algo de XML Parser
Algo de PHP DOM
Algo de Web Services
Web Services con SOAP
Algo de REST
Algo de JSON
Formato de fecha y hora
Características web's Sesiones
Formularios
Métodos GET y POST
Cookies
Protocolo HTTP y sus headers
Autenticación HTTP
Códigos de estado HTTP
Referencias Referencias
Recopilación
Conclusión
Clone this wiki locally