Ejercicios MS SQL
Primera Parte
Inserta un registro en la tabla "clientes" con el nombre "Juan Pérez", la dirección
"Calle 123" y el teléfono "555-1234".
INSERT INTO clientes (nombre, direccion, telefono) VALUES ('J
Actualiza el registro con el ID 1 para que el teléfono sea "555-5678".
UPDATE clientes SET telefono = '555-5678' WHERE id = 1;
Elimina el registro con el ID 1 de la tabla "clientes".
DELETE FROM clientes WHERE id = 1;
Inserta varios registros en la tabla "productos" utilizando una sola consulta.
INSERT INTO productos (nombre, precio)
VALUES
('Producto 1', 10.99),
('Producto 2', 19.99),
('Producto 3', 5.99);
Actualiza el precio del producto con el ID 2 a 24.99.
UPDATE productos SET precio = 24.99 WHERE id = 2;
Elimina todos los productos con un precio menor o igual a 5.
DELETE FROM productos WHERE precio <= 5;
Inserta un registro en la tabla "pedidos" con el ID del cliente 1 y el ID del producto 2.
Ejercicios MS SQL 1
INSERT INTO pedidos (cliente_id, producto_id) VALUES (1, 2);
Actualiza el ID del cliente del pedido con ID 1 a 2.
UPDATE pedidos SET cliente_id = 2 WHERE id = 1;
Elimina todos los pedidos del producto con ID 3.
DELETE FROM pedidos WHERE producto_id = 3;
Actualiza la cantidad del pedido con ID 2 a 3.
UPDATE pedidos SET cantidad = 3 WHERE id = 2;
Segunda Parte
Selecciona todos los registros de la tabla "clientes".
SELECT * FROM clientes;
Selecciona el nombre y la dirección de todos los clientes que tengan un teléfono que
comience con "555".
SELECT nombre, direccion FROM clientes WHERE telefono LIKE '55
Selecciona el nombre, precio y la mitad del precio de todos los productos.
SELECT nombre, precio, precio/2 AS mitad_precio FROM producto
Selecciona el nombre y la cantidad de cada producto que tenga una cantidad mayor
o igual a 5.
SELECT nombre, cantidad FROM productos WHERE cantidad >= 5;
Selecciona el nombre y la cantidad de cada producto que tenga una cantidad menor
o igual a 2 o un precio mayor o igual a 10.
Ejercicios MS SQL 2
SELECT nombre, cantidad FROM productos WHERE cantidad <= 2 OR
Selecciona el nombre y el precio del producto más caro.
SELECT TOP 1 nombre, precio FROM productos ORDER BY precio DES
Selecciona el nombre y el precio promedio de todos los productos.
SELECT nombre, AVG(precio) AS precio_promedio FROM productos G
Selecciona el nombre y el número de pedidos de cada producto.
SELECT [Link], COUNT(*) AS num_pedidos FROM productos p
JOIN pedidos pd ON [Link] = pd.producto_id
GROUP BY [Link];
Selecciona el nombre y el número de pedidos de cada cliente.
SELECT [Link], COUNT(*) AS num_pedidos FROM clientes c
JOIN pedidos pd ON [Link] = pd.cliente_id
GROUP BY [Link];
Selecciona el nombre y la cantidad total vendida de cada producto.
SELECT [Link], SUM([Link]) AS cantidad_vendida FROM pro
JOIN pedidos pd ON [Link] = pd.producto_id
GROUP BY [Link];
Tercera Parte
Selecciona el nombre y la edad de todos los empleados que tengan más de 30
años.
SELECT nombre, edad FROM empleados WHERE edad > 30;
Selecciona el nombre y la fecha de nacimiento de todos los clientes que hayan
Ejercicios MS SQL 3
nacido después del 1 de enero de 1990.
SELECT nombre, fecha_nacimiento FROM clientes WHERE fecha_naci
Selecciona el nombre, la cantidad y el precio de todos los productos, ordenados por
precio descendente.
SELECT nombre, cantidad, precio FROM productos ORDER BY precio
Selecciona el nombre y la cantidad de todos los productos cuyo nombre contenga la
palabra "leche".
SELECT nombre, cantidad FROM productos WHERE nombre LIKE '%lec
Selecciona el nombre y el precio de todos los productos cuyo precio sea mayor que
la mitad del precio promedio de todos los productos.
SELECT nombre, precio FROM productos WHERE precio > (SELECT AV
Selecciona el nombre y el número de pedidos de cada cliente, solo para los clientes
que tengan más de 3 pedidos.
SELECT [Link], COUNT(*) AS num_pedidos FROM clientes c
JOIN pedidos pd ON [Link] = pd.cliente_id
GROUP BY [Link]
HAVING COUNT(*) > 3;
Selecciona el nombre y la cantidad total vendida de cada producto, solo para los
productos que hayan vendido más de 50 unidades.
SELECT [Link], SUM([Link]) AS cantidad_vendida FROM pro
JOIN pedidos pd ON [Link] = pd.producto_id
Ejercicios MS SQL 4
GROUP BY [Link]
HAVING SUM([Link]) > 50;
Selecciona el nombre y la cantidad disponible de cada producto que tenga más de
10 unidades disponibles y cuyo precio sea menor que 10.
SELECT nombre, cantidad_disponible FROM productos WHERE cantid
Selecciona el nombre y el precio de todos los productos, solo para los productos que
tengan una cantidad disponible menor que la cantidad total vendida.
SELECT nombre, precio FROM productos p
JOIN (SELECT producto_id, SUM(cantidad) AS cantidad_total FROM
ON [Link] = pd.producto_id
WHERE p.cantidad_disponible < pd.cantidad_total;
📔 Apuntes
Ejercicios MS SQL 5