0% encontró este documento útil (0 votos)
19 vistas4 páginas

Consultasbd en SQL

El documento presenta una serie de consultas SQL que abarcan operadores lógicos, funciones de agregado, agrupación, cláusulas JOIN, y subconsultas. Se incluyen ejemplos para buscar compras, calcular totales, y actualizar datos en una base de datos relacionada con compras y usuarios. También se muestran técnicas para filtrar y ordenar resultados según diferentes criterios.

Cargado por

Axel Bautista
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas4 páginas

Consultasbd en SQL

El documento presenta una serie de consultas SQL que abarcan operadores lógicos, funciones de agregado, agrupación, cláusulas JOIN, y subconsultas. Se incluyen ejemplos para buscar compras, calcular totales, y actualizar datos en una base de datos relacionada con compras y usuarios. También se muestran técnicas para filtrar y ordenar resultados según diferentes criterios.

Cargado por

Axel Bautista
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1.

Operadores Lógicos:

• Buscar compras que se hayan realizado en febrero y que tengan un descuento


mayor al 2.5%

SELECT *
FROM compra
WHERE fecha BETWEEN '2025-02-01' AND '2025-02-28'
AND descuento > 2.5;

• Mostrar usuarios que tienen un rol de Profesor o Empleado

SELECT *
FROM usuario
WHERE id_rol IN (4, 6);

• Buscar facturas que fueron emitidas en el mes de marzo y cuyo total es mayor
a 15,000

SELECT *
FROM factura
WHERE fecha_emicion BETWEEN '2025-03-01' AND '2025-03-31'
AND id_compra IN (SELECT id_compra FROM compra WHERE total > 15000);

2. Funciones de Agregado:

• Calcular el total de ventas (total de las compras) realizadas por cada usuario

SELECT id_usuario, SUM(total) AS total_ventas


FROM compra
GROUP BY id_usuario;

• Promedio de los descuentos aplicados en las compras

SELECT AVG(descuento) AS promedio_descuento


FROM compra;

• Cantidad de compras por cada restaurante

SELECT [Link] AS restaurante, COUNT(c.id_compra) AS cantidad_compras


FROM compra c
JOIN plato p ON c.id_plato = p.id_plato
JOIN restaurante r ON p.id_restaurante = r.id_restaurante
GROUP BY [Link];

3. Funciones de Agrupación:

• Encontrar el total vendido por cada método de pago

SELECT [Link], SUM([Link]) AS total_vendido


FROM compra c
JOIN metodo_pago mp ON c.id_metodo_pago = mp.id_metodo_pago
GROUP BY [Link];

• Contar cuántas compras se han realizado con un descuento superior a 3%

SELECT COUNT(*) AS compras_con_descuento_alto


FROM compra
WHERE descuento > 3;

4. Cláusulas JOIN:

• Buscar las compras junto con la información del usuario y el plato comprado

SELECT [Link] AS usuario, [Link] AS plato, [Link]


FROM compra c
JOIN usuario u ON c.id_usuario = u.id_usuario
JOIN plato p ON c.id_plato = p.id_plato;

• Obtener la lista de facturas junto con el nombre del restaurante y los platos
vendidos

SELECT f.id_factura, [Link] AS restaurante, [Link] AS plato


FROM factura f
JOIN compra c ON f.id_compra = c.id_compra
JOIN plato p ON c.id_plato = p.id_plato
JOIN restaurante r ON p.id_restaurante = r.id_restaurante;

5. Cláusula GROUP BY y HAVING:

• Mostrar el total de ventas por restaurante, pero solo aquellos con ventas
mayores a 50,000

SELECT [Link], SUM([Link]) AS total_ventas


FROM compra c
JOIN plato p ON c.id_plato = p.id_plato
JOIN restaurante r ON p.id_restaurante = r.id_restaurante
GROUP BY [Link]
HAVING SUM([Link]) > 50000;

• Listar los usuarios que han realizado más de 2 compras y el total de sus
compras

SELECT [Link], COUNT(c.id_compra) AS cantidad_compras, SUM([Link]) AS total_compras


FROM compra c
JOIN usuario u ON c.id_usuario = u.id_usuario
GROUP BY [Link]
HAVING COUNT(c.id_compra) > 2;

6. Subconsultas:
• Buscar los usuarios que han realizado una compra con un descuento mayor al
3%

SELECT nombre
FROM usuario
WHERE id_usuario IN (
SELECT id_usuario
FROM compra
WHERE descuento > 3
);

• Encontrar el plato con el precio más alto de cada restaurante

SELECT [Link] AS restaurante, [Link] AS plato, MAX([Link]) AS precio_maximo


FROM plato p
JOIN restaurante r ON p.id_restaurante = r.id_restaurante
GROUP BY [Link];

7. Cláusula ORDER BY:

• Ordenar las compras por total en orden descendente

SELECT *
FROM compra
ORDER BY total DESC;

• Listar los platos por precio de menor a mayor

SELECT nombre, precio


FROM plato
ORDER BY precio ASC;

8. Operadores de Comparación:

• Buscar los platos que tienen un precio mayor a 15,000

SELECT *
FROM plato
WHERE precio > 15000;

• Mostrar las compras realizadas por el usuario con ID 14

SELECT *
FROM compra
WHERE id_usuario = 14;

9. Operadores BETWEEN y IN:

• Mostrar las facturas emitidas en febrero de 2025


SELECT *
FROM factura
WHERE fecha_emicion BETWEEN '2025-02-01' AND '2025-02-28';

• Obtener el total de las compras que fueron pagadas con tarjeta de crédito o
en efectivo

SELECT *
FROM compra
WHERE id_metodo_pago IN (1, 2);

10. Actualización de Datos:

• Actualizar el precio de un plato específico

UPDATE plato
SET precio = 15000
WHERE id_plato = 1;

• Aplicar un descuento de 10% a todas las compras realizadas en febrero

UPDATE compra
SET descuento = 10
WHERE fecha BETWEEN '2025-02-01' AND '2025-02-28';

También podría gustarte