Procedimiento con INNER JOIN para mostrar datos de clientes
Publicidad
En este procedimiento usamos INNER JOIN para mostrar el nombre de los clientes y la fecha de sus pedidos. He comentado cada una de las líneas, espero que te resulte de ayuda.
-- Comenzamos a usar la base de datos tienda online.
USE tiendaonline;
-- Vemos las dos tablas sobre las que vamos a trabajar. Unimos los datos de las dos tablas.
SELECT * FROM tiendaonline.clientes as c; -- Tabla de clientes. SELECT * FROM tiendaonline.pedidos as p; -- Tabla de pedidos.
-- Unimos las dos tablas, para ello usaremos la el id de cliente de la tabla de pedidos "Clave ajena" -- con el id de clientes de la tabla clientes.
SELECT c.nombre, p.fecha_pedido FROM tiendaonline.clientes as c INNER JOIN tiendaonline.pedidos as p ON p.id_cliente = c.id_cliente;
-- Lo anterior funciona muy bien, ahora comenzamos a crear el procedimiento. -- Si el procedimiento existe, se borrará. El nombre es mostrarClientes.
DROP PROCEDURE if exists mostrarClientes;
-- Cambiamos el delimitador para definir procedimientos sin errores. -- Creamos el procedimiento con un parámetro de entrada, usaremos el ID para hacer la consulta a mostrar. -- solo se muestran los datos que coincide con el ID.
DELIMITER // CREATE PROCEDURE mostrarClientes(in parametroId_pedido int) reads sql data -- La consulta solo lee datos o podrías usar DETERMINISTIC. BEGIN -- Abrimos el bloque de código.
SELECT c.nombre, p.fecha_pedido FROM tiendaonline.clientes as c INNER JOIN tiendaonline.pedidos as p ON p.id_cliente = c.id_cliente where p.id_pedido = parametroId_pedido; -- Añadimos cuando el ID sea igual al parámetro ID.
END // -- Cerramos el bloque. DELIMITER ; -- Cambiamos el delimitador.
CALL mostrarClientes(2); -- Llamamos al procedimiento y el pasamos el id = 2
Gestor de Tareas con Prioridades en Java Publicidad Este proyecto en Java implementa un gestor de tareas con prioridades, donde cada tarea cuenta con... Lee más: Gestor de Tareas con Prioridades en Java