DP 11 1 Esp

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 33

Programación de

Bases de Datos con SQL


11-1
Garantía de Resultados de Consultas de Calidad

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados.
Objetivos
En esta lección se abordan los siguientes objetivos:
• Crear una consulta para producir datos especificados
• Modificar una consulta para producir datos
especificados

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 3
Objetivo
• Ha aprendido las reglas de sintaxis para generar una
consulta SQL pero, ¿está seguro de que produce los
datos deseados?
• Observar la salida deseada y, a continuación, averiguar
la consulta para generar dicha salida le ayudará a ganar
confianza en que los resultados de la consulta son los
esperados.

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 4
Escriba la Consulta
• Problema:
– Cree una lista de todas las
tablas cuyos dos primeros Resultado de la Consulta:
caracteres en el nombre de la
tabla sean JO.
– Las tablas deben ser propiedad
del usuario de Oracle actual.
• Tablas Utilizadas:
– User_tables

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 5
Escriba la Consulta
• Problema:
– Cree una lista que incluya la Resultado de la Consulta:
inicial del nombre de cada
empleado, un espacio y el
apellido del empleado.
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 6
Escriba la Consulta
• Problema:
– Cree una lista de nombres de Resultado de la Consulta:
todos los empleados
concatenados a un espacio y el
apellido del empleado y el
correo electrónico de todos los
empleados donde la dirección
de correo electrónico contenga
la cadena "IN".
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 7
Escriba la Consulta
• Problema:
– Cree una lista del apellido Resultado de la Consulta:
"más pequeño" y el apellido
"más grande" de la tabla
employees.
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 8
Escriba la Consulta
• Problema: Resultado de la Consulta:
– Cree una lista de salarios
semanales a partir de la tabla
employees donde el salario
semanal esté entre 700 y 3000.
– Los salarios deben estar
formateados para incluir un
signo $ y tener dos decimales
como: $9999,99.
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 9
Escriba la Consulta
• Problema: Resultado de la Consulta:
– Cree una lista de todos los
empleados y su cargo
relacionado ordenada por
job_title.
• Tablas Utilizadas:
– Employees, Jobs

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 10
Escriba la Consulta
• Problema:
– Cree una lista de cargos de Resultado de la Consulta:
todos los empleados, rangos
de salarios del cargo y salario
del empleado.
– Enumere el rango de salarios
menor y mayor de cada cargo
con un guión para separar los
salarios de la siguiente forma:
100 – 200.
• Tablas Utilizadas:
– Employees, Jobs

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 11
Escriba la Consulta
• Problema:
– Mediante un método de unión Resultado de la Consulta:
de ANSI, cree una lista de
iniciales y apellidos de todos los
empleados y nombres de
departamento.
– Asegúrese de que las tablas se
unen en todas las claves ajenas
declaradas entre las dos tablas.
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 12
Escriba la Consulta
• Problema: Resultado de la Consulta:
– Cambie la lista anterior a
unión solo en la columna
department_id.
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 13
Escriba la Consulta
• Problema: Resultado de la Consulta:
– Cree una lista de apellidos
de todos los empleados y
la palabra nobody o
somebody en función de si
el empleado tiene un jefe.
– Utilice la función DECODE
de Oracle para crear la
lista.
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 14
Escriba la Consulta
• Problema: Resultado de la Consulta:
– Cree una lista de iniciales y
apellidos de todos los
empleados, salarios y un sí o no
para mostrar si un empleado
tiene una comisión.
– Corrija esta consulta para
producir el resultado.
• CONSULTA:
SELECT SUBSTR(first_name,1 1)||' '|last_name,
"Employee Name", salary "Salary",
DEC(commission_pct NULL, 'No', 'Yes')'Commission'
FROM employees;

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 15
Escriba la Consulta
• Problema:
– Cree una lista de apellidos de Resultado de la Consulta:
todos los empleados, nombres
de departamento, ciudades y
estados/provincias.
– Incluya los departamentos sin
los empleados.
– Es necesaria una unión externa.
• Tablas Utilizadas:
– Employees, Departments,
Locations

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 16
Escriba la Consulta
• Problema: Resultado de la Consulta:
– Cree una lista de nombres y apellidos
de todos los empleados y la primera
incidencia de: commission_pct,
manager_id o -1.
– Si un empleado obtiene una comisión,
muestre la columna commission_pct;
si no hay ninguna comisión, muestre
su manager_id; si no tiene ni comisión
ni jefe, el número -1.
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 17
Escriba la Consulta
• Problema:
– Cree una lista de apellidos de Resultado de la Consulta:
todos los empleados, salarios y
job_grade para todos los
empleados que trabajan en
departamentos con
department_id superior a 50.
• Tablas Utilizadas:
– Employees, job_grades

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 18
Escriba la Consulta
• Problema:
– Elabore una lista del apellido de Resultado de la Consulta:
todos los empleados y el
nombre de departamento.
– Incluya los empleados sin
departamentos y los
departamentos sin empleados.
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 19
Escriba la Consulta
• Problema: Resultado de la Consulta:
– Cree una lista de recorrido de árboles de
apellidos de todos los empleados, apellido
de su jefe y su posición en la compañía.
– El jefe de nivel superior tiene la posición 1,
los subordinados de este jefe tienen la
posición 2, sus subordinados tienen la
posición 3,
y así sucesivamente.
– Inicie la lista con el número de empleado 100.
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 20
Escriba la Consulta
• Problema:
– Cree una lista de la Resultado de la Consulta:
primera fecha de
Lowest Highest No of Employees
contratación, la última
17-Jun-1987 29-Jan-2000 20
fecha de contratación y el
número de empleados de
la tabla employees.
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 21
Escriba la Consulta
• Problema:
– Cree una lista de nombres Resultado de la Consulta:
de departamento y los costos
de departamento (sumados
los salarios).
– Incluya solo los departamentos
cuyos costos de salarios sean de
entre 15000 y 31000, y ordene la
lista por el costo.
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 22
Escriba la Consulta
• Problema:
– Cree una lista de nombres Resultado de la Consulta:
de departamento, el ID de
jefe, el nombre del jefe
(apellido del empleado)
de dicho departamento
y el salario medio de
cada departamento.
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 23
Escriba la Consulta
• Problema:
– Muestre el mayor salario Resultado de la Consulta:
medio para los departamentos
en la tabla employees.
– Redondee el resultado al
número entero más cercano.
• Tablas Utilizadas:
– Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 24
Escriba la Consulta
• Problema:
– Cree una lista de nombres Resultado de la Consulta:
de departamento y sus
costos mensuales (sumados
los salarios).
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 25
Escriba la Consulta
• Problema:
– Cree una lista de nombres de Resultado de la Consulta:
departamento y job_ids.
– Calcule el costo de salarios
mensuales para cada job_id
dentro de un departamento,
para cada departamento y para
todos los departamentos
sumados juntos.
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 26
Escriba la Consulta
• Problema: Resultado de la Consulta:

– Cree una lista de nombres de


departamento y job_ids.
– Calcule el costo de salarios mensuales
para cada job_id dentro de un
departamento, para cada departamento,
para cada grupo de job_ids
independientemente del departamento
y para todos los departamentos
sumados juntos. (Indicación: cubo)
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 27
Escriba la Consulta
• Problema: Resultado de la Consulta:
– Amplíe la lista anterior para
mostrar también si el valor de
department_id o job_id se ha
utilizado para crear los subtotales
mostrados en la salida.
(Indicación: cubo, agrupación)
• Tablas Utilizadas:
– Employees, Departments

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 28
Escriba la Consulta
• Problema:
– Cree una lista que incluya los Resultado de la Consulta:
costos de salarios mensuales
de cada cargo dentro de un
departamento.
– En la misma lista, muestre el
costo de salarios mensuales
por ciudad. (Indicación: juegos
de agrupamiento)
• Tablas Utilizadas:
– Employees, Departments,
Locations

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 29
Escriba la Consulta
• Problema:
– Cree una lista de nombres de Resultado de la Consulta:
empleados como se muestran e ID de
departamento.
– En el mismo informe, muestre los ID y
nombres de departamento. Por último,
enumere las ciudades.
– Las filas no deben estar unidas, solo
aparecer en el mismo informe.
(Indicación: unión)
• Tablas Utilizadas:
– Employees, Departments, Locations

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 30
Escriba la Consulta
• Problema:
– Cree una lista de inicial y Resultado de la Consulta:
apellido de cada empleado,
salario y nombre de
departamento de cada
empleado que gane más de la
media de su departamento.
• Tablas Utilizadas:
– Departments, Employees

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 31
Resumen
En esta lección, debe haber aprendido lo siguiente:
• Crear una consulta para producir datos especificados
• Modificar una consulta para producir datos
especificados

DPS11L1
Garantía de Resultados de Consultas de Calidad Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. 32

También podría gustarte