CREATE TABLE Clientes (
cliente_id INT PRIMARY KEY,
nombre VARCHAR(50),
email VARCHAR(50)
);
CREATE TABLE Productos (
producto_id INT PRIMARY KEY,
nombre_producto VARCHAR(50),
precio DECIMAL(10, 2)
);
CREATE TABLE Pedidos (
pedido_id INT PRIMARY KEY,
cliente_id INT,
producto_id INT,
cantidad INT,
fecha_pedido DATE,
FOREIGN KEY (cliente_id) REFERENCES Clientes(cliente_id),
FOREIGN KEY (producto_id) REFERENCES Productos(producto_id)
);
-- 2. INSERCIÓN DE DATOS DE PRUEBA
INSERT INTO Clientes VALUES
(1, 'Ana Gómez', 'ana@gmail.com'),
(2, 'Carlos López', 'carlos@gmail.com'),
(3, 'María Rodríguez', 'maria@gmail.com');
INSERT INTO Productos VALUES
(101, 'Laptop', 850.00),
(102, 'Ratón Óptico', 15.50),
(103, 'Teclado Mecánico', 45.00),
(104, 'Monitor 24 pulgadas', 160.00);
INSERT INTO Pedidos VALUES
(1, 1, 101, 1, '2026-09-10'),
(2, 1, 102, 2, '2026-09-12'),
(3, 2, 103, 1, '2026-09-15');
-- 3. CONSULTAS SQL UTILIZANDO JOIN
-- EJEMPLO 1: INNER JOIN
-- obtiene el detalle de las compras: qué cliente compró qué producto.
SELECT
Clientes.nombre AS Cliente,
Prodductos.nombre_producto AS Producto,
Pedidos.cantidad AS Cantidad,
Pedidos.fecha_pedido AS Fecha
FROM Pedidos
INNER JON Clientes ON Pedidos.cliente_id=Clientes.cliente_id
INNER JOIN Productos On Pedidos.producto_id=Productos.producto_id;
-- EJEMPLO 2: LEFT JOIN
-- Muestra todos los clientes y sus compras.
SELECT
Clientes.nombre AS Cliente,
Pedidos.pedido_id AS Numero_Pedido,
Pedidos.fecha_pedido AS Fecha
FROM Clientes
LEFT JOIN Pedidos ON Clientes.cliente_id = Pedidos.cliente_id;
-- EJEMPLO 3: RIGHT JOIN / LEFT JOIN INVERSO
-- Muestra todos los productos, incluso los que nunca se han vendido.
SELECT
Productos.nombre_producto AS Producto,
Pedidos.pedido_id AS Numero_Pedido,
Pedidos.fecha_pedido AS Fecha
FROM Pedidos
RIGHT JOIN Productos ON Pedidos.producto_id = Productos.producto_id;
To embed this project on your website, copy the following code and paste it into your website's HTML: