Este documento presenta una lección sobre consultas complejas en SQL. Explica los objetivos y subtemas de la lección. También incluye actividades para los estudiantes como revisar videos y participar en clases. Luego muestra las respuestas de un estudiante a varios ejercicios de SQL para recuperar datos de una base de datos de empleados usando consultas como select count, select max, select min y condiciones entre.
1. Richard Ramirez-Anormaliza - @riramireza
Sistemas de base de datos
Unidad 4
Lenguaje SQL: definición y manipulación de datos.
Tema 2
Recuperación de datos en un SGBD
Décimo Quinta Semana
2. Semana: Décimo Quinta
Tema:
• Recuperación de datos en un SGBD
Objetivo:
• Desarrollar consultas complejas a las base de datos.
Subtemas:
• SUBTEMA: 4.- Consultas complejas
Sistemas
de
bases
de
datos
3. Semana: Décimo Quinta
Temas: Recuperar datos en un SGBD
• SUBTEMA: 4.- Consultas complejas
Actividades del estudiante:
a) Revisar el compendio definido
b) Revisar el video magistral del tema
c) Preparar el ambiente de práctica sugerido
d) Participar y/o revisar la clase sincrónica
e) Ver video:
• Sentencia DML: https://youtu.be/DuJulA8kX6o
• Operadores de conjuntos: https://youtu.be/UpOfmT05ylY
Sistemas
de
bases
de
datos
4. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Desarrollo test2
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar la cantidad de nombres
diferentes. La respuestas es
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar el sueldo más alto en el
departamento de Finanzas.
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar nombre del empleado o
empleados que ganan el menor sueldo en el departamento de Marketing.
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar el cargo que tiene al sueldo
mas bajo en el departamento de finanzas y a cuanto asciende.
• Luego de construir y ejecutar las sentencias SQL necesarias para determinar cuantos empleados del
departamento de marketing tiene su sueldo Entre el promedio general y un 25% más.
5. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar la cantidad de nombres diferentes. La respuestas es:
A) 137 B) 127 C) 117 D) 107 ANSWER: A
5
SELECT Count(DISTINCT SUBSTRING (NOMBRES, 1,
PATINDEX('% %',NOMBRES))) AS CUENTA_NOMBRE
FROM EMPLEADO
6. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar el sueldo más alto en el departamento de Finanzas. La
respuesta es:
A) 39800 B) 39700 C) 39600 D) 39500 ANSWER: A
6
SELECT MAX(SUELDO)
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
DPTO = 'Finanzas'
7. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar nombre del empleado o empleados que ganan el menor
sueldo en el departamento de Marketing. La respuesta es:
A) ALARCON VELEZ y POMBOZA ORTEGA B) ALARCON VELEZ C) PALACIOS MARQUINA D) PRECIADO GOYESANSWER: A
7
SELECT NOMBRES, APELLIDOS
FROM EMPLEADO
WHERE SUELDO = (
SELECT MIN (SUELDO)
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
DPTO = 'Marketing' )
8. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar el cargo que tiene al sueldo mas bajo en el departamento
de finanzas y a cuanto asciende. La respuesta es:
A) $14400 B) $14500 C) $14600 D) $14700 ANSWER: N/A
8
SELECT NOMBRES, APELLIDOS,CARGO, SUELDO
FROM EMPLEADO E, CARGO C, DPTO D
WHERE E.IDCARGO = C.IDCARGO AND
E.IDDPTO = D.IDDPTO AND
D.DPTO = 'Finanzas' AND
SUELDO = ( SELECT MIN (SUELDO)
FROM DPTO AS D, EMPLEADO AS E
WHERE D.IDDPTO = E.IDDPTO AND
DPTO = 'Finanzas' )
NOMBRES APELLIDOS CARGO SUELDO
CARLOS JOEL SANCHEZ GALAN Experto 16700,00
9. Sistemas
de
bases
de
datos
Richard Ramirez-Anormaliza
@riramireza
Luego de construir y ejecutar las sentencias SQL necesarias para
determinar cuantos empleados del departamento de marketing tiene
su sueldo Entre el promedio general y un 25% más. La respuesta es:
A) 53 B) 63 C) 73 D) 83 ANSWER: N/A
9
SELECT Count(*) Empleados
FROM EMPLEADO E, DPTO D
WHERE E.IDDPTO = D.IDDPTO AND
D.DPTO = 'Marketing' AND
SUELDO BETWEEN (SELECT AVG (SUELDO) FROM EMPLEADO ) AND
(SELECT AVG (SUELDO*1.25) FROM EMPLEADO )
Empleados
12