Ejercicios Prácticos de Consultas SQL para Gestión de Bases de Datos
Enviado por Programa Chuletas y clasificado en Formación y Orientación Laboral
Escrito el en
español con un tamaño de 7,88 KB
Ejercicios de Consultas SQL para la Gestión de Datos
A continuación se detallan una serie de ejercicios prácticos para el aprendizaje de consultas SQL, centrados en la manipulación de tablas de empleados, departamentos y registros académicos. Estos ejemplos son fundamentales para entender el filtrado de información y la ordenación de registros en entornos relacionales.
Consultas de Filtrado y Ordenación en la Tabla EMPLE
- 1. Consulta de apellidos, oficio y número de departamento: Obtener los registros de la tabla EMPLE que no pertenezcan a los departamentos 10 ni 30.
SELECT APELLIDO, OFICIO, DEPT_NO FROM EMPLE WHERE DEPT_NO NOT IN (10, 30); - 2. Consulta de vendedores, analistas o empleados: Obtener los apellidos y oficio de la tabla EMPLE cuyo oficio sea Vendedor, Analista o Empleado, ordenados por oficio.
SELECT APELLIDO, OFICIO FROM EMPLE WHERE OFICIO IN ('VENDEDOR', 'ANALISTA', 'EMPLEADO') ORDER BY OFICIO; - 3. Consulta de oficios excluidos: Obtener los apellidos y oficio de la tabla EMPLE cuyo oficio no sea ni Vendedor, ni Analista, ni Empleado, ordenados por oficio.
SELECT APELLIDO, OFICIO FROM EMPLE WHERE OFICIO NOT IN ('VENDEDOR', 'ANALISTA', 'EMPLEADO') ORDER BY OFICIO; - 4. Filtrado por salario y departamento: Obtener los datos de los empleados cuyo salario sea mayor de 2000 en los departamentos 10 y 30.
SELECT * FROM EMPLE WHERE SALARIO > 2000 AND DEPT_NO IN (10, 30); - 5. Cálculo de ingresos totales para vendedores: Obtener el importe total (salario + comisión) a cobrar por los empleados que tienen el oficio de Vendedor.
SELECT *, (SALARIO + COMISION) FROM EMPLE WHERE OFICIO = 'VENDEDOR'; - 6. Búsqueda por patrones de texto (LIKE): Visualizar el número, apellido y oficio de aquellos empleados cuyo apellido termine por 'O' y cuyo oficio empiece por 'V'.
SELECT EMP_NO, APELLIDO, OFICIO FROM EMPLE WHERE APELLIDO LIKE '%O' AND OFICIO LIKE 'V%'; - 7. Ordenación múltiple de datos: Visualizar los datos de los empleados ordenados por departamento, oficio y apellido.
SELECT DEPT_NO, OFICIO, APELLIDO FROM EMPLE ORDER BY DEPT_NO, OFICIO, APELLIDO; - 8. Ordenación ascendente y descendente: Visualizar el número de departamento, apellidos y la suma de salario + comisión, ordenados por departamento de forma ascendente y por la suma de forma descendente.
SELECT DEPT_NO, APELLIDO, (SALARIO + COMISION) FROM EMPLE ORDER BY DEPT_NO ASC, (SALARIO + COMISION) DESC; - 9. Salario total en departamento específico: Para los empleados del departamento 30, visualizar apellido y salario total por orden decreciente de ingresos y alfabético en caso de empate.
SELECT APELLIDO, (SALARIO + COMISION) FROM EMPLE WHERE DEPT_NO = 30 ORDER BY (SALARIO + COMISION) DESC, APELLIDO ASC;
Consultas Académicas y de Gestión
- 10. Asignaturas sin suspensos: Visualizar los nombres de las asignaturas que no tengan alumnos con nota inferior a 5.
SELECT NOMBRE FROM ASIGNATURAS WHERE COD NOT IN (SELECT COD FROM NOTAS WHERE NOTA < 5); - 11. Búsqueda por jerarquía (Director): Obtener los datos de los empleados cuyo director sea Cerezo.
SELECT * FROM EMPLE WHERE DIR = (SELECT EMP_NO FROM EMPLE WHERE APELLIDO = 'CEREZO'); - 12. Departamentos sin empleados: Obtener los datos de los departamentos que actualmente no tienen personal asignado.
SELECT * FROM DEPART WHERE DEPT_NO NOT IN (SELECT DEPT_NO FROM EMPLE); - 13. Departamentos con empleados: Obtener los datos de los departamentos que sí tienen empleados asociados.
SELECT DISTINCT DEPART.* FROM DEPART, EMPLE WHERE DEPART.DEPT_NO = EMPLE.DEPT_NO;
Consultas sobre la Tabla LIBRERÍA
- 14. Rango de ejemplares: Visualizar el tema, estante y ejemplares de la librería con un número de ejemplares comprendido entre 8 y 15.
SELECT TEMA, ESTANTE, EJEMPLARES FROM LIBRERIA WHERE EJEMPLARES BETWEEN 8 AND 15; - 15. Exclusión de estantes: Visualizar la información de la librería cuyo estante no esté comprendido entre la 'B' y la 'D'.
SELECT * FROM LIBRERIA WHERE ESTANTE NOT BETWEEN 'B' AND 'D'; - 16. Comparativa de ejemplares: Visualizar los temas de la librería cuyo número de ejemplares sea inferior a los disponibles en la sección de Medicina.
SELECT TEMA FROM LIBRERIA WHERE EJEMPLARES < (SELECT EJEMPLARES FROM LIBRERIA WHERE TEMA = 'MEDICINA');
Consultas de Alumnos y Localización
- 17. Alumnos con suspensos en Madrid: Visualizar los nombres de los alumnos de Madrid que tienen alguna asignatura suspensa.
SELECT DISTINCT ALUMNOS.* FROM NOTAS, ALUMNOS WHERE ALUMNOS.DNI = NOTAS.DNI AND POBLA = 'MADRID' AND NOTA < 5; - 18. Asignaturas sin matriculaciones: Obtener los datos de las asignaturas que no tienen alumnos registrados.
SELECT NOMBRE FROM ASIGNATURAS WHERE COD NOT IN (SELECT COD FROM NOTAS); - 19. Alumnos por código de asignatura: Obtener el nombre de los alumnos que tengan nota en la asignatura con código 1.
SELECT APENOM, COD FROM ALUMNOS, NOTAS WHERE ALUMNOS.DNI = NOTAS.DNI AND COD = 1; - 20. Empleados por localización geográfica: Obtener el número y el apellido de los empleados cuyo departamento esté ubicado en Barcelona.
SELECT EMP_NO, APELLIDO, LOC FROM EMPLE, DEPART WHERE EMPLE.DEPT_NO = DEPART.DEPT_NO AND LOC = 'BARCELONA';