Jardineria - Consultes Resum
-
Quants empleats hi ha a l'empresa?
Possible solució
SELECT COUNT(*) FROM empleado; -
Quants clients té cada pais?
Possible solució
SELECT pais, COUNT(*) FROM cliente GROUP BY pais; -
Quin va ser l'import mitjana de pagaments de l'any 2009?
Possible solució
SELECT AVG(total) FROM pago WHERE YEAR(fecha_pago) = 2009; -
Quantes comandes tenim en cadascun dels estats? Ordena el resultat de forma descendent pel nombre de comandas.
Possible solució
SELECT estado, COUNT(*) FROM pedido GROUP BY estado ORDER BY COUNT(*) DESC; -
Calcula el preu de venta del producte més car i més barat en una mateixa consulta.
Possible solució
select MAX(precio_venta), MIN(precio_venta) FROM producto; -
Calcula el número de clients que té l'empresa.
Possible solució
SELECT COUNT(*) FROM cliente; -
Quants clients hi ha amb domicili a la ciutat de
Madrid?Possible solució
SELECT COUNT(*) FROM cliente WHERE ciudad = 'Madrid'; -
Calcula quants clients té cadascuna de les ciutats amb el nom que comança per la lletra
M.Possible solució
SELECT ciudad, COUNT(*) FROM cliente WHERE ciudad LIKE 'M%' GROUP BY ciudad; -
Retorna el nom dels representants de vendes i el número de clients que té cadascú.
Possible solució
Estem fent sortir als Representants de Vendes sense clientsSELECT nombre, apellido1, apellido2, COUNT(cliente.codigo_cliente) FROM empleado e LEFT JOIN cliente ON (e.codigo_empleado = cliente.codigo_empleado_rep_ventas) WHERE e.puesto = 'Representante Ventas' GROUP BY e.codigo_empleado, nombre, apellido1, apellido2; -
Calcula el número de clients que no té assignat representant de vendes.
Possible solució
SELECT COUNT(*) FROM cliente WHERE codigo_empleado_rep_ventas IS NULL; -
Calcula la data del primer del darrer pagament realitzat por cadascun dels clients. La llista ha mostrar el nom de cada client i la data mínima i màxima de pagament.
Possible solució
SELECT nombre_cliente, MIN(p.fecha_pago), MAX(p.fecha_pago) FROM cliente c NATURAL JOIN pago p GROUP BY codigo_cliente; -
Calcula el nombre de productes diferents que hi ha a cada comanda.
Possible solució
SELECT codigo_pedido, COUNT(DISTINCT codigo_producto) FROM detalle_pedido GROUP BY codigo_pedido; -
Calcula la suma de la quantitat total de tots els productes que apareixen a cadascuna de les comandes.
Possible solució
SELECT codigo_pedido, SUM(cantidad) FROM detalle_pedido GROUP BY codigo_pedido; -
Retorna una llista dels 20 productes més venuts i el nombre total d'unitats que s'han venut de cadascun. La llista ha d'estar ordenada pel nombre total d'unitats venudes.
Possible solució
SELECT pr.nombre, SUM(cantidad) FROM producto pr NATURAL JOIN detalle_pedido GROUP BY pr.codigo_producto, pr.nombre ORDER BY 2 DESC LIMIT 20; -
Mostra la facturació que ha tingut l'empresa en toda la història, indicant la base imposable, l'IVA i el total facturat. La base imposable es calcula sumant el cost del producte pel número d'unitats venudes de la taula
detalle_pedido. L'IVA és el 21 % de la base imposable, i el total, la suma dels dos camps anteriors.Possible solució
SELECT SUM(cantidad * precio_unidad) "Base Imposable", SUM(cantidad * precio_unidad) * 0.21 "IVA", SUM(cantidad * precio_unidad) * 1.21 "Total" FROM detalle_pedido; -
La mateixa informació que a la pregunta anterior, però agrupada per codi de producte.
Possible solució
SELECT codigo_producto, SUM(cantidad * precio_unidad) "Base Imposable", SUM(cantidad * precio_unidad) * 0.21 "IVA", SUM(cantidad * precio_unidad) * 1.21 "Total" FROM detalle_pedido GROUP BY codigo_producto; -
La mateixa informació que a la pregunta anterior, però agrupada per codi de producte, filtrada pels codis que comencin per
OR.Possible solució
SELECT codigo_producto, SUM(cantidad * precio_unidad) "Base Imposable", SUM(cantidad * precio_unidad) * 0.21 "IVA", SUM(cantidad * precio_unidad) * 1.21 "Total" FROM detalle_pedido WHERE codigo_producto LIKE 'OR%' GROUP BY codigo_producto; -
Llista les vendes totals dels productes que han facturat més de 3000 euros. Es mostrarà el nom del producte, unitats venudes, total facturat i total facturat amb impostos (21% IVA).
Possible solució
SELECT nombre, SUM(cantidad) "Unitats", SUM(cantidad * precio_unidad) "Base Imposable", SUM(cantidad * precio_unidad) * 1.21 "Total" FROM detalle_pedido NATURAL JOIN producto pr GROUP BY codigo_producto, nombre HAVING SUM(cantidad * precio_unidad) > 3000; -
Mostra la suma total de tots els pagaments que s'han fet cadascun dels anys que apareixen a la taula
pagos.Possible solució
SELECT YEAR(fecha_pago), SUM(total) FROM pago GROUP BY YEAR(fecha_pago);