Está en la página 1de 3

Ejercicio página 34

1 ¿Cuál es la cuota media y las ventas medias de todos los empleados?

SELECT AVG(ventas) media_ventas FROM empleados

2 Hallar el importe medio de pedidos, el importe total de pedidos y el precio medio de venta (el
precio de venta es el precio unitario en cada pedido).

SELECT SUM(pedidos.importe),AVG(pedidos.importe) AS medio_importe,


AVG(productos.precio)medio_venta FROM pedidos,productos

3 Hallar el precio medio de los productos del fabricante ACI.

SELECT AVG(productos.precio) medio_precio_aci

FROM productos

WHERE id_fab='aci'

4 ¿Cuál es el importe total de los pedidos realizados por el empleado Vicente Pantalla?

SELECT SUM(pedidos.importe) AS media_pedisos

FROM pedidos

INNER JOIN empleados ON empleados.nombre='Vicente Pantalla'

5 Hallar en qué fecha se realizó el primer pedido (suponiendo que en la tabla de pedidos tenemos
todos los pedidos realizados hasta la fecha).

SELECT MIN(pedidos.fecha_pedido) AS fecha_primer_pedido FROM pedidos

6 Hallar cuántos pedidos hay de más de 25000 ptas.

SELECT COUNT(importe) AS total_importe

FROM pedidos WHERE importe>25000

7 Listar cuántos empleados están asignados a cada oficina, indicar el número de oficina y cuántos
hay asignados.

SELECT cdo_oficina, COUNT(*) cuantos_empleados_hay FROM empleados GROUP BY cdo_oficina

8 Para cada empleado, obtener su número, nombre, e importe vendido por ese empleado a cada
cliente indicando el número de cliente

SELECT empleados.num_emp AS numero_empleado, empleados.nombre

AS nombre_empleado, clientes.num_cliente, SUM(pedidos.importe)

AS importe_vendido

FROM empleados

JOIN pedidos ON empleados.num_emp = pedidos.num_emp


JOIN clientes ON pedidos.num_cliente = clientes.num_cliente

GROUP BY empleados.num_emp, empleados.nombre, clientes.num_cliente

9 para cada empleado cuyos pedidos suman más de 30.000 ptas, hallar su importe medio de
pedidos. En el resultado indicar el número de empleado y su importe medio de pedidos

SELECT num_emp AS numero_empleado, AVG(importe) media_de_importe

FROM pedidos

GROUP BY num_emp

HAVING SUM(importe)>30000

10 Listar de cada producto, su descripción, precio y cantidad total pedida, incluyendo sólo los
productos cuya cantidad total pedida sea superior al 75% del stock; y ordenado por cantidad total
pedida.

SELECT p.id_producto, p.descripcion, p.precio, SUM(pe.cant) AS cantidad_total_pedida

FROM productos p

JOIN pedidos pe ON p.id_producto = pe.id_producto

GROUP BY p.id_producto, p.descripcion, p.precio

HAVING SUM(pe.cant) > 0.75 * (

SELECT existencias

FROM productos

WHERE id_producto = p.id_producto

LIMIT 1

ORDER BY cantidad_total_pedida DESC;

11 Saber cuántas oficinas tienen empleados con ventas superiores a su cuota, no queremos saber
cuales sino cuántas hay

SELECT COUNT(DISTINCT empleados.cdo_oficina) AS numero_de_oficina

FROM empleados

WHERE EXISTS(

SELECT 1

FROM pedidos

WHERE pedidos.num_emp = empleados.num_emp


AND pedidos.importe > empleados.cuota

También podría gustarte