Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Práctica de Consultas en una Base de datos, Sistemas gestores de bases de datos - Administración de Sistemas Informáticos, Apuntes de Sistemas de Gestión de Bases de Datos

Apuntes del curso universitario de Sistemas gestores de báses de datos sobre la Práctica de Consultas en una Báse de Datos - Administraciàon de Sistemas Informáticos - Facultad de Informática

Tipo: Apuntes

2011/2012

Subido el 17/09/2012

pedrito46
pedrito46 🇪🇸

4.4

(186)

63 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
docsity.com
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
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Práctica de Consultas en una Base de datos, Sistemas gestores de bases de datos - Administración de Sistemas Informáticos y más Apuntes en PDF de Sistemas de Gestión de Bases de Datos solo en Docsity!

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. 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 '%____,%'

Modo 1

Modo 2

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,(SALAR0.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