Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hallar el salario medio y la edad media en aos de los empleados que tienen comisin y
los que no.
select 'con
from temple
where comis
union
select 'sin
from temple
where comis
'CONCOMISIN
-----------con comisin
sin comisin
is null;
2. Para los empleados que no tienen comisin, obtener por orden alfabtico el nombre y el
cociente entre su salario y el nmero de hijos, pero si un empleado no tiene hijos,
obtener el salario sin ms, indicando este caso con un literal.
select nomem, salar/numhi, '(salar/hijos)'
from temple
where comis is null and numhi>0
union
select nomem, salar, '(salario)'
from temple
where comis is null and numhi =0
order by 1;
NOMEM
SALAR/NUMHI '(SALAR/HIJOS
-------------------- ----------- ------------ALBA, ADRIANA
450 (salario)
CAMPOS, ROMULO
200 (salar/hijos)
CAMPS, AURELIO
450 (salar/hijos)
FIERRO, CLAUDIA
400 (salario)
FLOR, DOROTEA
58 (salar/hijos)
GALVEZ, PILAR
190 (salar/hijos)
GARCIA, AUGUSTO
420 (salario)
GIL, GLORIA
90 (salar/hijos)
LARA, LUCRECIA
185 (salario)
LOPEZ, ANTONIO
120 (salar/hijos)
MARTIN, MICAELA
180 (salario)
MORA, VALERIANA
210 (salar/hijos)
MORAN, CARMEN
215 (salar/hijos)
MUOZ, AZUCENA
175 (salario)
PEREZ, JULIO
440 (salario)
POLO, OTILIA
380 (salario)
PONS, CESAR
103,33333 (salar/hijos)
RUIZ, FABIOLA
190 (salar/hijos)
SANZ, CORNELIO
202,5 (salar/hijos)
VEIGA, JULIANA
75 (salar/hijos)
20 filas seleccionadas.
3. Para los empleados que trabajan en la calle de Atocha y su salario supera al salario
medio de su departamento, obtener por orden alfabtico su nombre y su salario total
(salario, o salario ms comisin en los que la tengan).
select nomem, salar+comis
from temple e, tdepto d, tcentr c
where e.numde=d.numde and d.numce=c.numce
and domi like '%ATOCHA%' and
salar > (select avg(salar)
from temple
where numde=e.numde)
and comis is not null
union
select nomem, salar
from temple e, tdepto d, tcentr c
where e.numde=d.numde and d.numce=c.numce
and domi like '%ATOCHA%' and
salar > (select avg(salar)
from temple
where numde=e.numde)
and comis is null
order by 1;
NOMEM
SALAR+COMIS
-------------------- ----------AGUIRRE, AUREO
420
DIEZ, AMELIA
370
GARCIA, OCTAVIO
460
LARA, DORINDA
350
LASA, MARIO
460
PEREZ, MARCOS
530
SANZ, LAVINIA
380
TEROL, LUCIANO
400
8 filas seleccionadas.
4. Obtener por departamento la masa salarial total (suma de salarios y comisiones del
departamento) y el nombre, por orden alfabtico.
select nomde, sum(salar) + sum(comis)
from temple e, tdepto d
where d.numde=e.numde
group by d.numde, d.nomde
having count(distinct comis)>0
union
select nomde, sum(salar)
from temple e, tdepto d
where d.numde=e.numde
group by d.numde, d.nomde
having count(distinct comis)=0
order by 1;
NOMDE
SUM(SALAR)+SUM(COMIS)
-------------------- --------------------DIRECCIN COMERCIAL
945
DIRECCIN GENERAL
1550
FINANZAS
1110
ORGANIZACIN
270
PERSONAL
1240
PROCESO DE DATOS
1620
SECTOR INDUSTRIAL
2475
SECTOR SERVICIOS
2460
8 filas seleccionadas.
NOMDE
0
-------------------- --------DIRECCIN COMERCIAL
0
SECTOR INDUSTRIAL
1
SECTOR SERVICIOS
1
DIRECCIN GENERAL
0
DIRECCIN COMERCIAL
1
FINANZAS
1
ORGANIZACIN
1
PERSONAL
2
PROCESO DE DATOS
2
SECTOR INDUSTRIAL
2
SECTOR SERVICIOS
2
FINANZAS
0
ORGANIZACIN
0
PERSONAL
1
PROCESO DE DATOS
1
PERSONAL
0
PROCESO DE DATOS
0
SECTOR INDUSTRIAL
0
SECTOR SERVICIOS
0
19 filas seleccionadas.