SQL
Tutorial SQL: Creación y uso de funciones
SQL funciones: definición y uso. Domina la creación y uso de funciones en SQL con ejemplos prácticos y detallados.
Aprende SQL GRATIS y certifícateLas funciones en SQL son herramientas esenciales que permiten encapsular lógicas repetitivas en bloques de código reutilizables. Funcionan de manera similar a las funciones en otros lenguajes de programación, aceptando argumentos de entrada, ejecutando operaciones y devolviendo un valor.
Funciones en SQL
La sintaxis básica para crear una función en SQL es la siguiente:
CREATE FUNCTION nombre_funcion ([parametro1 tipo1, ...])
RETURNS tipo_retorno
LANGUAGE SQL
AS $$
-- Código de la función
$$;
Los componentes de esta sintaxis son:
CREATE FUNCTION
: Declara la creación de una nueva función.nombre_funcion
: Nombre asignado a la función.parametro1 tipo1, ...
: Lista opcional de parámetros de entrada, cada uno con un nombre y un tipo.RETURNS tipo_retorno
: Tipo de valor que devolverá la función.LANGUAGE SQL
: Indica que el código de la función está escrito en SQL.AS $$ ... $$;
: Código de la función, encerrado entre dos signos $$.
Un ejemplo simple de una función en SQL es una que toma dos números como entrada y devuelve su suma:
CREATE FUNCTION suma (numero1 INT, numero2 INT)
RETURNS INT
LANGUAGE SQL
AS $$
SELECT numero1 + numero2;
$$;
Esta función puede ser usada en cualquier sentencia SQL que espere un número entero, como por ejemplo:
SELECT suma(5, 7);
La consulta anterior devolverá el valor 12
.
Es posible también crear funciones más complejas. Por ejemplo, se puede crear una función que devuelva la cantidad de registros en una tabla. Supongamos que tenemos una tabla clientes
con una columna ciudad
y queremos saber cuántos clientes hay en una ciudad específica. Se podría crear la siguiente función:
CREATE FUNCTION cantidad_clientes(ciudad VARCHAR)
RETURNS INT
LANGUAGE SQL
AS $$
SELECT COUNT(*) FROM clientes WHERE ciudad = ciudad;
$$;
Entonces, para conocer la cantidad de clientes en la ciudad de "Madrid", podríamos ejecutar:
SELECT cantidad_clientes('Madrid');
Funciones escalares y funciones de tabla
Las funciones en SQL se pueden clasificar en dos categorías: funciones escalares y funciones de tabla.
- Funciones escalares: Este tipo de funciones devuelven un único valor cada vez que se llaman. El valor puede ser cualquier tipo de dato escalar. Un ejemplo de función escalar es la función
suma
mencionada anteriormente. - Funciones de tabla: A diferencia de las funciones escalares, las funciones de tabla devuelven un conjunto de filas que se pueden utilizar como cualquier otra tabla. La sintaxis es un poco diferente, se debe usar el keyword
RETURNS TABLE
y dentro de los paréntesis se define la estructura de la tabla que se devolverá.
Aquí un ejemplo de una función de tabla que devuelve todos los clientes de una ciudad específica:
CREATE FUNCTION clientes_por_ciudad(ciudad VARCHAR)
RETURNS TABLE (
id INT,
nombre VARCHAR,
correo VARCHAR
)
LANGUAGE SQL
AS $$
SELECT id, nombre, correo FROM clientes WHERE ciudad = ciudad;
$$;
La función se puede utilizar como si fuera una tabla en una sentencia FROM
:
SELECT * FROM clientes_por_ciudad('Madrid');
Funciones incorporadas en SQL
Además de las funciones definidas por el usuario, SQL tiene muchas funciones incorporadas. Algunas de las más comunes son:
- Funciones matemáticas: Por ejemplo,
ABS()
para obtener el valor absoluto,ROUND()
para redondear números,RAND()
para obtener un número aleatorio, entre otros. - Funciones de cadena de caracteres: Por ejemplo,
LENGTH()
para obtener la longitud de una cadena,UPPER()
yLOWER()
para pasar una cadena a mayúscula o minúscula,CONCAT()
para concatenar cadenas, entre otros. - Funciones de fecha y hora: Por ejemplo,
NOW()
para obtener la fecha y hora actual,DATE()
para obtener la parte de fecha de un timestamp,DATEDIFF()
para obtener la diferencia en días entre dos fechas, entre otros. - Funciones de agregación: Por ejemplo,
SUM()
para obtener la suma de un conjunto de valores,AVG()
para obtener la media,MIN()
yMAX()
para obtener el valor mínimo y máximo,COUNT()
para obtener la cantidad de filas, entre otros.
Cada una de estas funciones puede ser utilizada en cualquier sentencia SQL que espere un valor del tipo devuelto por la función. Por ejemplo:
SELECT COUNT(*) FROM clientes;
SELECT AVG(edad) FROM clientes;
SELECT CONCAT(nombre, ' ', apellido) AS nombre_completo FROM clientes;
Conclusión
Las funciones en SQL son una parte esencial del lenguaje y brindan una gran versatilidad para realizar operaciones complejas y repetitivas, ya sea que estén incorporadas en el lenguaje o sean definidas por el usuario. Además, son una excelente forma de hacer el código más modular, legible y fácil de mantener.
Ejercicios de esta lección Creación y uso de funciones
Evalúa tus conocimientos de esta lección Creación y uso de funciones con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Actualización de datos: UPDATE
Creación y uso de procedimientos almacenados
Uso de funciones agregadas: COUNT, SUM, AVG, MAX, MIN
Tipos de datos
Uso de índices y particiones
Uso de vistas
Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
Sentencias INSERT
Creación y uso de subqueries
Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
Instalación de MySQL
Relaciones entre tablas
Clasificación de resultados con ORDER BY
Creación y manejo de usuarios y roles
Eliminación de datos: DELETE
Creación y uso de funciones
Vaciar tablas y bases de datos: DROP
Consultas básicas de selección: SELECT y WHERE
Creación de bases de datos y tablas
Filtrado de valores únicos con DISTINCT
Alterar la estructura de tablas existentes: ALTER TABLE
Creación de tablas e inserción de datos con SQL
Asignación y gestión de permisos
Optimización de consultas
Introducción a SQL
Triggers y eventos
Copias de seguridad y restauración de bases de datos
Filtrado de grupos de resultados con HAVING
Eliminación de datos: DELETE
Inserción de datos: INSERT INTO
Instalación de PostgreSQL
Agrupación de resultados con GROUP BY
Actualización de datos: UPDATE
Renombrar tablas y bases de datos: RENAME
Creación de bases de datos y tablas: CREATE DATABASE, CREATE TABLE
Bases de datos y tablas
Consultas básicas de selección SELECT y WHERE
Relaciones entre tablas
Todas las lecciones de SQL
Accede a todas las lecciones de SQL y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Sql
Introducción Y Entorno
Ddl Y Dml
Introducción Y Entorno
Instalación De Mysql
Introducción Y Entorno
Instalación De Postgresql
Introducción Y Entorno
Tipos De Datos
Introducción Y Entorno
Bases De Datos Y Tablas
Introducción Y Entorno
Creación De Bases De Datos Y Tablas: Create Database, Create Table
Operaciones Básicas
Consultas Básicas De Selección: Select Y Where
Operaciones Básicas
Inserción De Datos: Insert Into
Operaciones Básicas
Actualización De Datos: Update
Operaciones Básicas
Eliminación De Datos: Delete
Operaciones Básicas
Clasificación De Resultados Con Order By
Filtros Y Clasificación
Filtrado De Valores Únicos Con Distinct
Filtros Y Clasificación
Uso De Funciones Agregadas: Count, Sum, Avg, Max, Min
Funciones Agregadas Y Agrupaciones
Agrupación De Resultados Con Group By
Funciones Agregadas Y Agrupaciones
Filtrado De Grupos De Resultados Con Having
Funciones Agregadas Y Agrupaciones
Relaciones Entre Tablas
Joins Y Subqueries
Uso De Inner Join, Left Join, Right Join, Full Join
Joins Y Subqueries
Creación Y Uso De Subqueries
Joins Y Subqueries
Alterar La Estructura De Tablas Existentes: Alter Table
Manipulación De Tablas Y Datos
Renombrar Tablas Y Bases De Datos: Rename
Manipulación De Tablas Y Datos
Vaciar Tablas Y Bases De Datos: Drop
Manipulación De Tablas Y Datos
Creación Y Uso De Funciones
Funciones Y Procedimientos Almacenados
Creación Y Uso De Procedimientos Almacenados
Funciones Y Procedimientos Almacenados
Creación Y Manejo De Usuarios Y Roles
Seguridad Y Administración De Bases De Datos Sql
Asignación Y Gestión De Permisos
Seguridad Y Administración De Bases De Datos Sql
Copias De Seguridad Y Restauración De Bases De Datos
Seguridad Y Administración De Bases De Datos Sql
Optimización De Consultas
Sintaxis Avanzada
Uso De Índices Y Particiones
Sintaxis Avanzada
Uso De Vistas
Sintaxis Avanzada
Triggers Y Eventos
Sintaxis Avanzada
Certificados de superación de SQL
Supera todos los ejercicios de programación del curso de SQL y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender qué son las funciones en SQL y cómo pueden mejorar la eficiencia y legibilidad del código.
- Conocer la sintaxis básica para crear funciones en SQL, incluyendo el uso de parámetros y el tipo de retorno.
- Aprender sobre las funciones escalares y de tabla, y cómo se diferencian en su comportamiento y uso.
- Conocer ejemplos prácticos de funciones en SQL, como funciones matemáticas, de cadena de caracteres, de fecha y hora, y de agregación.