¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Cómo crear una función en MySQL para obtener el nombre y correo de un cliente por su ID

Cómo crear una función en MySQL para obtener el nombre y correo de un cliente por su ID

En este ejemplo aprenderás a crear una función en MySQL llamada consultarNombreYEmail, que devuelve el nombre y correo de un cliente según su ID.

La función recibe como parámetro el id_cliente, busca en la tabla clientes y devuelve ambos datos concatenados en una sola cadena.

De esta forma, podrás reutilizar esta función sin necesidad de escribir siempre la misma consulta.


1. Seleccionar la base de datos

USE tiendaonline;

2. Verificar la tabla sobre la que vamos a trabajar

SELECT * FROM clientes AS c;

3. Eliminar la función si ya existe

DROP FUNCTION IF EXISTS consultarNombreYEmail;

4. Crear la función en MySQL

DELIMITER //

CREATE FUNCTION consultarNombreYEmail(f_id INT)
RETURNS VARCHAR(100)
DETERMINISTIC
BEGIN
    -- Variable que almacenará el resultado
    DECLARE v_resultado VARCHAR(100);

    -- Consulta que concatena nombre y correo
    SELECT CONCAT(c.nombre, ' - ', c.email) 
    INTO v_resultado 
    FROM clientes AS c 
    WHERE id_cliente = f_id;

    -- Devolvemos el resultado
    RETURN v_resultado;
END //

DELIMITER ;

Notas:

  • Usamos VARCHAR(100) porque suele ser suficiente para concatenar nombre y correo.
  • DETERMINISTIC indica que la función devuelve siempre el mismo resultado si recibe el mismo parámetro.
  • CONCAT permite unir el nombre y correo en un solo valor, separados por un guion o espacio (según prefieras).

5. Llamar a la función

Ejecutamos la función pasando un ID de cliente, por ejemplo el 2:

SELECT consultarNombreYEmail(2) AS "Nombre y correo del cliente";

Resultado esperado:

+------------------------------+
| Nombre y correo del cliente  |
+------------------------------+
| Juan Pérez - juan@mail.com   |
+------------------------------+

Hemos creado una función en MySQL que:

  • Recibe un parámetro de entrada (id_cliente).
  • Recupera de la tabla el nombre y email.
  • Devuelve ambos concatenados en una sola cadena.

Esto hace que las consultas sean más limpias y reutilizables.


Preguntas frecuentes (FAQ)

1. ¿Qué pasa si el cliente no existe?
La función devolverá NULL. Puedes usar IFNULL al llamarla para mostrar un mensaje alternativo:

SELECT IFNULL(consultarNombreYEmail(99), 'Cliente no encontrado') AS resultado;

2. ¿Puedo devolver nombre y correo en columnas separadas?
Sí, pero en ese caso deberías usar un procedimiento almacenado con parámetros OUT, ya que una función en MySQL solo devuelve un valor.

3. ¿Qué ocurre si el email es muy largo?
Si el campo email de tu tabla supera la longitud definida (ej. VARCHAR(100)), deberías aumentar el tamaño en la definición de la función, por ejemplo VARCHAR(200).


Cómo obtener el nombre y correo de un cliente con SQL
Cómo obtener el nombre y correo de un cliente con SQL

Te puede interesar:

Funciones en MySQL: Ejemplos, Sintaxis y Casos Prácticos

Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja una respuesta

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.