Consultas en una Base de datos

Frases de Consulta. Consultas con Predicado. Access. Ordenar

  • Enviado por: Lancelot
  • Idioma: castellano
  • País: España España
  • 5 páginas
publicidad

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