Consultas en SQL (Structured Query Language)

Lenguaje de consulta estructurado relacional. Sistema gestor de bases de datos. Consultas Sencillas

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

1. CONSULTAS SENCILLAS.

  • Obtener los nombres de todos los centros de trabajo de la empresa ordenados alfabéticamente.

  • SELECT NOMCE FROM TCENTR ORDER BY NOMCE ASC

  • Obtener los nombres de los empleados que trabajan en el departamento 122.

  • SELECT NOMEM FROM TEMPLE

    WHERE NUMDE =122

  • Extraer todos los datos del departamento 121.

  • SELECT * FROM TDEPTO

    WHERE NUMDE =121

    1.4. Obtener los nombres, sueldos y número de hijos de los empleados con más de 3 hijos,

    ordenados por orden alfabético.

    SELECT NOMEM FROM TEMPLE

    WHERE NUMHI>3

    ORDER BY NOMEM ASC

    1.5. Obtener la comisión, departamento y nombre de los empleados cuyo salario es menor que

    190000 ptas. Ordenándolos por departamento por orden creciente y por comisión en orden

    decreciente, dentro de cada departamento.

    SELECT COMIS,NUMDE,NOMEM

    FROM TEMPLE

    WHERE SALAR <190

    ORDER BY NUMDE ASC, COMIS DESC

    1.6. Obtener por orden alfabético los nombres de los departamentos cuyo presupuesto sea mayor de

    2000000.

    SELECT NOMDE

    FROM TDEPTO

    WHERE PRESU >2

    ORDER BY NOMDE ASC

    1.7. Obtener los números de los departamentos donde trabajan empleados cuyo salario sea menor de

    250000 ptas.

    SELECT DISTINCT NUMDE

    FROM TEMPLE

    WHERE SALAR <250

    1.8. Obtener los valores diferentes de comisiones que hay en el departamento 110.

    SELECT DISTINCT COMIS

    FROM TEMPLE

    WHERE NUMDE =110

    1.9. Hallar por orden alfabético los nombres de los departamentos cuyo director lo es en funciones y

    no en propiedad.

    SELECT NOMDE

    FROM TDEPTO

    WHERE TIDIR ='f'

    ORDER BY NOMDE ASC

    1.10. Obtener un listín de los empleados del departamento 121 incluyendo el nombre del

    empleado, número de empleado y extensión telefónica (por orden alfabético).

    SELECT NOMEM,NUMEMP,EXTEL

    FROM TEMPLE

    ORDER BY NOMEM ASC

    1.11. Obtener por orden creciente una relación de todos los números de extensiones

    telefónicas de los empleados.

    SELECT DISTINCT EXTEL

    FROM TEMPLE

    ORDER BY EXTEL ASC

    1.12. Hallar la comisión, nombre y salario de los empleados con más de 4 hijos, clasificados

    por comisión y dentro de la comisión por orden alfabético.

    SELECT COMIS,NOMEM,SALAR

    FROM TEMPLE

    WHERE NUMHI >4

    ORDER BY COMIS,NOMEM ASC

    1.13. Obtener salario y nombre de los empleados sin hinjos por orden decreciente de salario y

    por orden alfabético dentro del salario.

    SELECT SALAR,NOMEM

    FROM TEMPLE

    WHERE NUMHI =0

    ORDER BY SALAR DESC, NOMEM ASC

    1.14. Obtener los nombres y sueldos anuales expresados en pesetas de los empleados del

    departamento 100, presentados por orden decreciente de sueldos.

    SELECT NOMEM,(SALAR*1000)*12

    FROM TEMPLE

    WHERE NUMDE=100

    ORDER BY SALAR DESC

    1.15. Obtener los nombres de los empleados cuya comisión sea igual o superior al 50 % de su

    salario, por orden alfabético.

    SELECT NOMEM

    FROM TEMPLE

    WHERE COMIS >= SALAR*0.5

    ORDER BY NOMEM ASC

    1.16. En una campaña de ayuda familiar se ha decidido dar a los empleados una paga extra de

    5000 ptas. por hijo, a partir del cuarto inclusive. Obtener por orden alfabético para estos

    empleados: nombre y salario total que van a cobrar incluyendo la paga extra y el salario sin

    incluirla.

    SELECT NOMEM,SALAR*1000,(SALAR*1000)+(NUMHI*5000) AS [SALARIO + EXTRA]

    FROM TEMPLE

    ORDER BY NOMEM

    1.17. El usuario U1 ejecuta la sentencia: SELECT NOMEM, USER FROM TEMPLE WHERE

    NUMEM = 10. ¿Cual es la respuesta?.

    De la tabla temple muestra el numero de empleado 10

    1.18. Resultado de las sentencias siguientes que las ejecuta el usuario: USER8.

    a. SELECT USER FROM TDEPTO

    muestra todos los usuarios de la tabla TEMPLE

    b. SELECT USER FROM TEMPLE WHERE NUMHI > 4

    muestra los usuarios con mas de 4 hijos de la table TEPLE

    c. SELECT DISTINCT USER FROM TEMPLE

    muestra los usuarios de la table TEMPLE sin repetirlos

    d. SELECT DISTINCT USER FROM TDEPTO

    selecciona los usuarios de la table TDEPTO sin repetirlos

    1.19. Obtener una relación por orden alfabético de los departamentos cuyo presupuesto es

    inferior a 5000000 ptas. El nombre del departamento vendrá precedido de las palabras:

    `Departamento de'.

    SELECT 'DEPARTAMENTO DE ' + NOMDE

    FROM TDEPTO

    WHERE PRESU < 5

    ORDER BY NOMDE ASC

    1.20. El presupuesto medio mensual de un departamento es el presupuesto anual dividido por

    12. Se decide aumentar el presupuesto medio mensual de todos los departamentos un 10% a

    partir del mes de Octubre inclusive, Sí el presupuesto mensual medio anterior a Octubre es

    mayor de 500000 ptas./mes. Hallar por orden alfabético el nombre del departamento y su

    presupuesto anual después del incremento.

    SELECT NOMDE AS [NOMBRE DE DEPARTAMENTO],((PRESU*1000000)/12)*1.10 AS [PRESUPUESTO MENSUAL INCREMENTADO],(PRESU *1000000)*1.10 AS [PRESUPUESTO ANUAL INCREMENTADO]

    FROM TDEPTO

    WHERE PRESU >0,5

    ORDER BY [PRESUPUESTO ANUAL INCREMENTADO] DESC , NOMDE ASC

    1.21. Suponiendo que en los próximos 3 años el coste de vida va a aumentar un 6% anual y

    que suben los salarios en la misma proporción, hallar para los empleados de más de 4 hijos, su

    nombre y su sueldo anual actual y para cada uno de los próximos 3 años, clasificados por orden

    alfabético.

    SELECT NOMEM, SALAR*1000 AS [SALARIO MENSUAL],

    SALAR*12*1000 AS [SALARIO ANUAL],

    SALAR*12*1000*1.06 AS [SALARIO PRIMER AÑO INCR.],

    SALAR*12*1000*1.12 AS [SALARIO SEGUNDO AÑO INCR.],

    SALAR*12*1000*1.18 AS [SALARIO TERCER AÑO INCR.]

    FROM TEMPLE

    WHERE NUMHI>4

    ORDER BY NOMEM

    1.22. Hallar por orden alfabético los nombres de los empleados tales que si se les da una

    gratificación de 10000 ptas. por hijo el total de esta gratificación no supera a la décima parte del

    salario.

    SELECT NOMEM AS [NOMBRE EMPLEADO],NUMHI*1000 AS GRATIFICACION,SALAR*1000 AS SALARIO

    FROM TEMPLE

    WHERE NUMHI>0 AND NUMHI*1000<(SALAR*1000)/10

    ORDER BY [NOMBRE EMPLEADO]

    1.23. Para los empleados del departamento 112, hallar el nombre y el salario total de cada uno

    (salario más comisión), por orden de salario total decreciente, y por orden alfabético dentro de

    salario total.

    SELECT NOMEM, SALAR*1000 SALARIO,COMIS*1000 AS COMISION,(SALAR*1000)+(COMIS*1000) AS [SALARIO TOTAL]

    FROM TEMPLE

    WHERE NUMDE=112

    ORDER BY [SALARIO TOTAL] DESC, NOMEM ASC

    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 a 300000 ptas. mensuales.

    SELECT NUMEMP AS [NUMERO DE EMPLEADO],NOMEM AS [NOMBRE DEL EMPLEADO], (SALAR+COMIS)*1000 AS [SALARIO TOTAL]

    FROM TEMPLE

    WHERE (SALAR+COMIS)*1000>300000

    1.25. Obtener los números de los departamentos en los que haya algún empleado cuya

    comisión supera al 20% de su salario.

    SELECT DISTINCT NUMDE AS [NUMERO DE DEPARTAMENTO]

    FROM TEMPLE

    WHERE COMIS > SALAR*0.2