Administración de sistemas informáticos
Consultas en una Base de datos
1. CONSULTAS CON PREDICADO.
1.1. Obtener por orden alfabético los nombres de los empleados cuyos sueldos igualen o superen al
de Claudia Fierro en más del 50%.
SELECT NOMEM,SALAR
FROM TEMPLE
WHERE SALAR>=(SELECT SALAR*0.5
FROM TEMPLE
WHERE NOMEM ='FIERRO, CLAUDIA')
1.2. 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 de su salario total que
supone la comisión.
SELECT NOMEM,SALAR*1000 AS SALARIO,(SALAR+COMIS)*1000 AS [SALARIO TOTAL],100*COMIS/(SALAR+COMIS) AS PORCENTAJE,COMIS
FROM TEMPLE
WHERE COMIS<>0
ORDER BY NOMEM
1.3. Obtener los nombres de los departamentos que no dependen funcionalmente de otro.
SELECT NOMDE
FROM TDEPTO
WHERE DEPEDE IS NULL
1.4. Obtener por orden alfabético los nombres de los empleados cuyo salario supera al máximo
salario de los empleados del departamento 122.
SELECT NOMEM AS [NOMBRE EMPLEADO],SALAR AS SALARIO
FROM TEMPLE
WHERE SALAR > (SELECT MAX(SALAR)
FROM TEMPLE
WHERE NUMDE = 122)
ORDER BY NOMEM
1.5. Obtener por orden alfabético los nombres de los empleados cuyo salario supera en tres veces y
media o más al mínimo salario de los empleados del departamento 122.
SELECT NOMEM AS [NOMBRE EMPLEADO],SALAR AS SALARIO
FROM TEMPLE
WHERE SALAR > (SELECT MIN(SALAR*3.5)
FROM TEMPLE
WHERE NUMDE=122)
ORDER BY NOMEM
1.6. Obtener los nombres y salarios de los empleados cuyo salario coincide con la comisión de algún
otro o la suya propia. Ordenarlos alfabéticamente.
SELECT NOMEM ,SALAR
FROM TEMPLE
WHERE SALAR=ANY(SELECT DISTINCT COMIS
FROM TEMPLE)
1.7. Obtener por orden alfabético los nombres y salarios de los empleados cuyo salario es inferior a
la comisión más alta existente.
SELECT NOMEM AS [NOMBRE EMPLEADO],SALAR AS SALARIO
FROM TEMPLE
WHERE SALAR < (SELECT MAX(COMIS)
FROM TEMPLE)
ORDER BY NOMEM
1.8. Obtener por orden alfabético los nombres y salarios de los empleados cuyo salario es inferior al
cuádruplo de la comisión más baja existente.
SELECT NOMEM AS [NOMBRE EMPLEADO],SALAR AS SALARIO
FROM TEMPLE
WHERE SALAR < (SELECT MIN(COMIS*4)
FROM TEMPLE)
ORDER BY NOMEM
1.9. Obtener por orden alfabético los nombres de los empleados cuyo salario está entre 250000 y
300000 ptas.
SELECT NOMEM,SALAR*1000 AS SALARIO
FROM TEMPLE
WHERE SALAR >=250 AND SALAR <= 300
ORDER BY NOMEM
SELECT NOMEM,SALAR*1000 AS SALARIO
FROM TEMPLE
WHERE SALAR BETWEEN 250 AND 300
ORDER BY NOMEM
1.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 dos condiciones siguientes: Que
sea inferior a 120000 ptas. o que sea superior al doble de su comisión.
SELECT NOMEM,SALAR
FROM TEMPLE
WHERE SALAR/NUMHI<120 AND NUMHI>0 OR SALAR/NUMHI > COMIS*2 AND NUMHI>0
ORDER BY NOMEM
1.11. Obtener por orden alfabético los nombres de los empleados cuyo primer apellido es
Mora o empieza por Mora.
SELECT NOMEM
FROM TEMPLE
WHERE NOMEM LIKE 'MORA%'
ORDER BY NOMEM
1.12. Obtener los nombres de empleados cuyo nombre empieza por Valeriana.
SELECT NOMEM
FROM TEMPLE
WHERE NOMEM LIKE '%, VALERIANA%'
1.13. Obtener por orden alfabético los nombres de empleados que tengan un apellido de 7
letras.
SELECT NOMEM
FROM TEMPLE
WHERE NOMEM LIKE '_______,%'
1.14. Obtener por orden alfabético los nombres de empleados cuyo apellido tenga seis o más
letras.
SELECT NOMEM
FROM TEMPLE
WHERE NOMEM LIKE '______%,%'
1.15. Obtener los nombres de empleados cuyo apellido tenga tres letras o menos.
SELECT NOMEM AS [NOMBRE DEL EMPLEADO]
FROM TEMPLE
WHERE NOMEM NOT LIKE '%____,%'
ORDER BY NOMEM ASC
1.16. Obtener por orden alfabético los nombres de empleados cuyo apellido termina en EZ y
su nombre termina en O y tiene al menos tres letras.
SELECT NOMEM
FROM TEMPLE
WHERE NOMEM LIKE '%ez,__%o'
1.17. Obtener por orden alfabético los nombres de los empleados cuya extensión telefónica es
250 o 700.
SELECT NOMEM
FROM TEMPLE
WHERE EXTEL LIKE 250 OR EXTEL LIKE 700
ORDER BY NOMEM
1.18. Obtener por orden alfabético los nombres de los empleados que trabajan en el mismo
departamento que Pilarica Gálvez o Dorotea Flor.
SELECT NOMEM,NUMDE
FROM TEMPLE
WHERE NUMDE IN (SELECT NUMDE FROM TEMPLE WHERE NOMEM LIKE 'GALVEZ, PILAR' OR NOMEM LIKE 'FLOR, DOROTEA')
ORDER BY NOMEM
SELECT NOMEM,NUMDE
FROM TEMPLE
WHERE NUMDE IN (SELECT NUMDE FROM TEMPLE WHERE NOMEM IN ('GALVEZ, PILAR', 'FLOR, DOROTEA'))
ORDER BY NOMEM
1.19. Obtener los nombres de los centros de trabajo si hay alguno que esté en la calle Atocha.
SELECT NOMCE
FROM TCENTR
WHERE SEÑAS LIKE ('%ATOCHA%')
ORDER BY NOMCE
1.20. Obtener por orden alfabético los nombres y comisiones de los empleados del
departamento 110 si hay en él algún empleado que tenga comisión.
SELECT NOMEM, COMIS
FROM TEMPLE
WHERE NUMDE=110 AND COMIS<>0
1.21. Obtener los nombres, salarios y fechas de ingreso de los empleados que o bien
ingresaron después del 1.1.88 o bien tienen un salario inferior a 200000 ptas. Clasificarlos por
fecha y nombre.
SELECT NOMEM,SALAR*1000 AS SALARIO,FECIN
FROM TEMPLE
WHERE FECIN>'1988-1-1' OR SALAR < 200
ORDER BY FECIN,NOMEM ASC
1.22. Obtener por orden alfabético los nombres de los departamentos que no sean de
Dirección ni de Sectores.
SELECT NOMDE
FROM TDEPTO
WHERE NOMDE NOT LIKE '%DIRECCION%' AND NOMDE NOT LIKE '%SECTOR%'
1.23. Obtener por orden alfabético los nombres y salarios de los empleados que o bien no
tienen hijos y ganan más de 200000 ptas., o bien tienen hijos y ganan menos de 300000 ptas.
SELECT NOMEM,NUMHI,SALAR*1000 AS SALARIO
FROM TEMPLE
WHERE NUMHI=0 AND SALAR >200 OR NUMHI>0 AND SALAR<300
1.24. Hallar por orden de número de empleado el nombre y salario total (salario más
comisión) de los empleados cuyo salario total supera al salario mínimo en 100000 ptas.
mensuales.
SELECT NUMEMP,NOMEM AS [NOMBRE DE EMPLEADO], (SALAR+COMIS)*1000 AS [SALARIO TOTAL]
FROM TEMPLE
WHERE SALAR+COMIS > 100+(SELECT MIN(SALAR) FROM TEMPLE)
ORDER BY [SALARIO TOTAL] ASC
1.25. Para los empleados que no tienen comisión obtener por orden alfabético el nombre y el
cociente entre su salario y el número de hijos.
SELECT NOMEM,NUMHI,SALAR,SALAR/NUMHI AS [COCIENTE SALARIO/HIJOS]
FROM TEMPLE
WHERE NUMHI>0
ORDER BY NOMEM
1.26. Se desea hacer un regalo de un 1% del salario a los empleados en el día de su
onomástica. Hallar por orden alfabético los nombres y cuantía de los regalos en pesetas para los
que celebren su santo el día de San Honorio.
SELECT NOMEM,SALAR*1000 AS SALARIO,(SALAR*0.01)*1000 AS [CUANTIA DEL REGALO]
FROM TEMPLE
WHERE NOMEM LIKE '%, HONORI%'
1.27. Obtener por orden alfabético los nombres y salarios de los empleados del departamento
111 que tienen comisión si hay alguno de ellos cuya comisión supere al 15% de su salario.
SELECT NOMEM,SALAR
FROM TEMPLE
WHERE NUMDE=111 and COMIS IS NOT NULL AND EXISTS
(SELECT COMIS FROM TEMPLE WHERE COMIS>SALAR*0.15 and NUMDE= 111 AND COMIS IS NOT NULL)
ORDER BY NOMEM
1.28. En la fiesta de Reyes Magos se desea organizar un espectáculo para los hijos de los
empleados, que se representará en dos días diferentes. El primer día asistirán los empleados
cuyo apellido comience por las letras desde A hasta L, ambas incluidas. El segundo día se
cursarán invitaciones para el resto. A cada empleado se le asignarán tantas invitaciones
gratuitas como hijos tenga y dos más. Además, en la fiesta se entregará a cada empleado un
obsequio por hijo. Obtener una lista por orden alfabético de los nombres a quienes hay que
invitar el primer día de la representación, incluyendo también cuántas invitaciones corresponden
a cada nombre y cuántos regalos hay que preparar para él.
SELECT NOMEM AS [NOMBRE DE EMPLEADO], NUMHI AS HIJOS, NUMHI+2 AS [ENTRADAS TOTALES],NUMHI AS OBSEQUIOS
FROM TEMPLE
WHERE NOMEM LIKE '[A-L]%'AND NUMHI>0
ORDER BY NOMEM
1.29. Hallar por orden alfabético los nombres y salarios de los empleados de los
departamentos 110 y 111 que o bien no tengan hijos o bien su salario por hijo supere a 100000
ptas., si hay alguno sin comisión en los departamentos 111 ó 112.
SELECT NOMEM,SALAR
FROM TEMPLE
WHERE (NUMDE= 110 or NUMDE= 111)
and (NUMHI = 0 or 100*NUMHI<salar)
AND EXISTS (SELECT COMIS
FROM TEMPLE
WHERE COMIS=0 AND (NUMDE=111 or NUMDE=112))
ORDER BY NOMEM
1.30. Hallar por orden alfabético los nombres de los departamentos que o bien tienen
directores en funciones o bien en propiedad y su presupuesto anual excede a 5000000 ptas. o
bien no dependen de ningún otro.
SELECT NOMDE AS [NOMBRE DEPARTAMENTO]
FROM TDEPTO
WHERE PRESU>5 OR DEPEDE=0
ORDER BY NOMDE
Modo 1
Modo 2
Descargar
Enviado por: | Lancelot |
Idioma: | castellano |
País: | España |