PRACTICA #3
Gestión y Consulta de Datos con SQL
Instructor:Elvin German
Selección con agrupamientos y funciones de grupo
Obligatorio
Tablas utilizadas: EMPLEADOS, DEPARTAMENTOS, PEDIDOS, PRODUCTOS y CLIENTES.
1. Obtener, para cada departamento, cuantos DIRECTORES hay en el departamento y
cuál es su salario medio.
select dep_no, COUNT(EMP_NO)AS 'CANTIDAD DE DIRECTORES',
(sum(SALARIO)/count(salario)) AS 'SALARIO MEDIO'
FROM EMPLEADOS
where oficio like 'VENDEDOR'
GROUP BY DEP_NO
2. Obtener los salarios medios por departamento, ordenados descendentemente por dicho
importe, cuando dichos salarios medios sean inferiores a 3000 euros
SELECT DEP_NO AS Departamento, avg(SALARIO) AS 'Salario medio'
FROM empleados
GROUP BY dep_no
HAVING avg(SALARIO)<3000
ORDER BY 'Salario medio' desc;
3. Obtener el total de unidades por producto que hay entre todos los pedidos,
visualizando el número de producto, la descripción y la suma.
SELECT
P.PRODUCTO_NO,
[Link],
SUM([Link]) AS 'SUMA UNIDADES'
FROM PEDIDOS P, PRODUCTOS PR
WHERE P.PRODUCTO_NO = PR.PRODUCTO_NO
GROUP BY PR.PRODUCTO_NO,P.PRODUCTO_NO, [Link]
4. Listar los números de cliente que tengan más de dos pedidos, ordenado por
cantidad de pedidos
select CLIENTE_NO, count(PEDIDO_NO) 'N. Pedido'
from pedidos
group by CLIENTE_NO
having count(PEDIDO_NO)>2
order by count(PEDIDO_NO);
5. Obtener las localidades en las que haya más de un cliente, visualizando cuantos
clientes hay.
select LOCALIDAD, count(localidad) AS 'N. Clientes'
from clientes
group by LOCALIDAD
having count(localidad)>1;
6. Obtener Los datos de los 4 productos de los que más unidades se han vendido, visualizando
el número de producto y las unidades vendidas
select top (4) PRODUCTO_NO AS Producto, sum(UNIDADES) AS Cantidad
from pedidos
group by PRODUCTO_NO
order by Cantidad desc