Vous êtes sur la page 1sur 22

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO

SEMESTRE ABRIL 2018 – AGOSTO 2018

TAREA No.

IDENTIFICACION
Facultad: Informática y Electrónica

Carrera: Ingeniería En Electrónica, Telecomunicaciones Y Redes

Materia: Base de Datos

Semestre: Cuarto

Paralelo: A

Docente: Ing. Blanca Hidalgo

Integrante: JONATHAN MENDIETA (1214)

Fecha: 11/07/2018

Revisado
Calificación
Con las siguientes tablas resuelva los ejercicios utilizando el lenguaje SQL:
TEMPLE(NUMEM, NUMDE, EXTEL, FECNA, FECIN, SALAR, COMIS, NUMHI,
NOMEM)

CAMPO DESCRIPCIÓN TIPO


1 NUMEM Número identificador del empleado. Clave principal entero
2 NUMDE Número del departamento al que está asignado. entero
Clave foránea de la tabla departamento
3 EXTEL Extensión telefónica correspondiente al empleado entero
4 FECNA Fecha de nacimiento fecha
5 FECIN Fecha de ingreso Fecha
6 SALAR Salario mensual decimal
7 COMIS Comisión mensual, esta columna sólo es aplicable a Decimal
los empleados que son vendedores, o directores de
vendedores, incluyendo hasta el director comercial.
En los otros empleados toma el valor nulo
8 NUMHI Número de hijos entero
9 NOMEM Nombre del empleado cadena

TDEPTO(NUMDE, NUMCE, DIREC, TIDIR, PRESU, DEPDE, NOMDE)

CAMPO DESCRIPCIÓN TIPO


1 NUMDE Número identificador del departamento. Clave entero
principal
2 NUMCE Número del centro de trabajo donde está el entero
departamento. Todo departamento está en un
centro de trabajo. Un centro es un edificio o local.
Un centro puede albergar a más de un
departamento
3 DIREC Número del empleado que es director del entero
departamento. Todo departamento tiene un único
director. Puede tratarse de director en propiedad, o
de un director en funciones. Un empleado sólo
puede ser director en propiedad de un departamento
como máximo, pero puede ser director en funciones
de varios
4 TIDIR Tipo de director. (P: en propiedad y F: si es en char
funciones)
5 PRESU Presupuesto anual de departamento decimal
6 DEPDE Número del departamento del que depende. Todo entero
departamento depende de otro excepto el de más
alto nivel que no depende de ninguno. Un
departamento puede tener varios dependientes en
él. Esta dependencia expresa la jerarquía de mando.
El director de un departamento es jefe de todos los
empleados pertenecientes a su departamento y a los
departamentos dependientes del suyo directa o
indirectamente. Esta columna admite el valor nulo
7 NOMD Nombre del departamento cadena

TCENTR(NUMCE, NOMCE, SEÑAS)

CAMPO DESCRIPCIÓN TIPO


1 NUMCE Número identificador del centro entero
2 NOMCE Nombre del centro cadena
3 SEÑAS Dirección del local cadena

1. Para todos los empleados que tienen comisión, hallar sus salarios
mensuales totales incluyendo ésta. Obtenerlos por orden alfabético.
Hallar también el porcentaje que de su salario total supone la comisión

Select nomen,salario
From Temple
Where comis <>0
Order by 1
2. Obtener los nombres de los departamentos que no dependen
funcionalmente de otro

select nomde
from TDEPTO
where nomde <> depde

 Subconsultas
3. Obtener por orden alfabético los nombres de los empleados cuyos
sueldos igualan o superan al de “Claudia Fierro” en más de un 50

select nomem
from TEMPLE
where salario >= 1500
order by 1
4. Hallar por orden alfabético, los nombres y salarios de empleados de los
departamentos 110 y 111 que o bien no tengan hijos o bien su salario
por hijo supere a $100, si hay alguno sin comisión en los departamentos
111 o 112
select nomem , salario

from TEMPLE

where numde=111 and numde=110 or numhi =0

order by 1
 Predicados cuantificados
5. Obtener por orden alfabético los nombres de los empleado cuyo salario
supera al máximo salario de los empleados del departamento 122

select nomem , salario, numde=122


from TEMPLE
where salario >= 785
order by 1
6. Obtener por orden alfabético los nombres de los empleado cuyo salario
supera en tres veces y media o más al mínimo salario de los empleados
del departamento 122

select nomem , salario, numde=122


from TEMPLE
where salario <= 250
order by 1
7. Obtener los nombres y salarios de los empleados cuyo salario coincide
con la comisión de algún otro o la suya propia. Ordenados
alfabéticamente
select nomem , salario
from TEMPLE
where salario = comis
order by 1
8. Obtener por orden alfabético los nombres y salarios de los empleados
cuyo salario es inferior a la comisión más alta existentes

select nomem , salario


from TEMPLE
where salario=comis and (comis=789)
order by 1
9. Obtener los nombres de los centros de trabajo si hay alguno que esté en
la calle “Atocha”

select nomce
from TCENTR
where señas=255

 Between y Like

10. Obtener por orden alfabético los nombres y salarios de los empleados
cuyo salario dividido por su número de hijos cumpla una o ambas, de las
siguientes condiciones siguientes:
 Que sea inferior a $120
 Que sea superior al doble de su comisión

select nomem, salario, salario=salario/numhi


from TEMPLE
where salario<120 or salario>comis
order by 1
11. Obtener en por orden alfabético los nombres de empleados cuyo apellido
termina en EZ

 Cadenas

select nomem
from TEMPLE
where nomem like '%ez'
12. Obtener los tres últimos caracteres de los nombres de departamento por
orden alfabético

select nomde
from TDEPTO
where nomde like '%a'
order by 1
13. Hallar los nombres de los empleados que no tienen comisión, clasificador
de manera que aparezcan primero aquellos cuyos nombres son los más
cortos

select nomem
from TEMPLE
here comis=0 and nomem like ' '
 Fechas
14. Obtener por orden alfabético los nombres de los empleados que
empezaron a trabajar en la empresa en el año 2009

select nomem
from TEMPLE
where fecin>'01-01-2000'

15. Supongamos que según el convenio laboral de la empresa, para los


empleados con más de un año de servicio, el número de días de
vacaciones anuales expresado en días laborables es de 20,
incrementados en uno más por cada tres años de servicios cumplidos en
el año anterior. Para los empleados que este año cumplen 45 o más
años de edad y tienen más de un año de servicio, hallar por orden
alfabético el nombre y el número de días laborables de vacaciones
anales que corresponde a cada uno.

select nomem
from TEMPLE
where fecin>'01-01-2000' and fecha>'01-01-1984' and salario>1000
16. Obtener por orden alfabético los nombres de los empleados que
ingresaron en los primeros 90 días del año 2010

select nomem
from TEMPLE
where fecin<'01-03-2010'
17. Obtener por orden alfabético los nombres y fechas de nacimiento de los
empleados que cumplen años en el mes de noviembre

select nomem
from TEMPLE
where fecin='01-11-2015'

18. Obtener por orden alfabético, los empleados que en el día de hoy tienen
10 años cumplidos en la empresa

select nomem
from TEMPLE
where fecin<'27-12-2015'
19. Para los departamentos 111 y 112, hallar la media de los años de
servicio de sus empleados en el día de hoy

select nomem
from TEMPLE
where (numde=112 or numde=111) and fecin<'27-12-2015'

20. Hallar cuántos empleados han ingresado en el año actual

select nomem
from TEMPLE
where fecin>'01-01-2015'
 Group by

21. Hallar para cada departamento el salario medio, el máximo y la media


aritmética de éstos

select AVG(presupuesto) AS [presupuesto medio], Max(presupuesto) AS


[presupuesto maximo], from TDEPTO
22. Hallar por departamento de edad en años cumplidos del empleado más
viejo del departamento que tiene comisión. Ordenar el resultado por
edades.

select nomem
from TEMPLE
where fecha<'27-12-2015' and comis<300

23. Hallar el salario máximo y el mínimo para cada grupo de empleados con
igual número de hijos y que tienen al menos uno, y sólo si hay más de
un empleado en el grupo y el salario máximo de éste excede a $200

select nomem, MAX(salario) AS [max salario], MIN(salario) AS [minimo


salario]
from TEMPLE
group by nomem
24. Hallar el salario medio por departamento para aquellos departamentos
cuyo salario máximo es inferior al salario medio de todos los empleados

select nomem, AVG(salario) AS [medio salario], MIN(salario) AS [minimo


salario]
from TEMPLE
where salario<1000
group by nomem
25. Para los departamentos en los que la antigüedad media de sus
empleados supera a la de la empresa, hallar el salario mínimo, el medio
y el máximo

select nomem, AVG(salario) AS [medio salario], MIN(salario) AS [minimo


salario]
from TEMPLE
where salario<1000 and fecin<'27-12-2015'
group by nomem

26. Para cada extensión telefónica, hallar cuantos empleados la usan y el


salario medio de estos

select extel, AVG(salario) AS [medio salario]


from TEMPLE
where salario<1000
group by extel

Vous aimerez peut-être aussi