/*1) ¿Cuántos cargos distintos existen en la tabla Empleado?*/
select count(distinct numempleado), nombre
from empleado
order by cargo;
/*2) Desarrolle una consulta SQL que liste los empleados, mujeres con un sueldo
(salario) superior o igual a 100000 y menor o igual a120000, y que tengan
menos de 30 años. (Mostrar NumEmpleado, Nombre Completo (Nombre y
Apellido), Salario, Fecha de Nacimiento (FechNac) y Edad)*/
select nombre||' '||apellido as nombre_completo
, salario
,fechnac as fecha nacimiento
, edad (sysdate - fechnac) /365
from empleado
where salario between 100000 and 120000
and sexo = 'M'
group by numempleado, nombre_completo, fecha_nacimiento, edad
order by numempleado, nombre_completo, fecha_nacimiento, edad;
/*3) Listar los clientes que viven en London (5 Pts)*/
select numCliente, nombre
from cliente
where direccion like '%london%';
/*4) Listar los empleados ordenados en forma descendente por cargo y en forma
ascendente por Salario*/
select numempleado, nombre, cargo, salario
from empleado
order by cargo desc, salario;
/*5) ¿Cuántas propiedades cuestan más de 350 por mes de alquiler?*/
select count(*)
from propiedad
where renta >350;
/*6) Para cada oficina con más de 2 empleados, indicar el número de empleados
en cada oficina y la suma de sus sueldos*/
SELECT numOficina,
COUNT(numEmpleado) AS myCount,
SUM(salario) AS mySum
FROM Empleado
GROUP BY numOficina
HAVING COUNT(numEmpleado) > 2
ORDER BY numOficina;
/*7)Utilizando sub consultas, listar los empleados (numEmpleado, nombre,
apellido, cargo) que trabajan en la oficina ubicada en ‘Costanera 25’*/
SELECT numEmpleado, nombre, apellido, cargo
FROM Empleado
WHERE numOficina = (SELECT numOficina
FROM Oficina
WHERE calle = 'Costanera 25');
/*8) Listar a todos los empleados hombres cuyo sueldo sea mayor que el de todas
las mujeres.*/
SELECT numEmpleado, nombre, apellido, cargo, salario
FROM Empleado
WHERE salario > ALL (SELECT salario
FROM Empleado
WHERE sexo = 'F');
No hay comentarios:
Publicar un comentario