Beruflich Dokumente
Kultur Dokumente
com/academy
Objetivos
• Crear y ejecutar una consulta que elimina unavista
• Crear y ejecutar una consulta mediante una vista enlínea
• Crear y ejecutar una consulta para el análisis de Nprincipales
Terminología
Identifique el término para cada una de las siguientes definiciones.
VISTA EN LÍNEA Subconsulta con un alias que se puede utilizar en una sentencia
SQL
Inténtelo/Resuélvalo
VERIFICACION.-
SELECT * FROM view_copy_d_songs;
2. Emita DROP view_copy_d_songs. Ejecute una sentencia SELECT * para verificar que la
vista se hasuprimido.
DROP VIEW view_copy_d_songs
View dropped.
3. Cree una consulta que seleccione el apellido y el salario de la base de datos Oracle.
Clasifique los salarios del más alto al más bajo para los tres empleados principales.
SELECT ROWNUM AS "Longest employed", last_name, salary
FROM (SELECT last_name, salary FROM employees ORDER BY salary desc)
WHERE ROWNUM <=3;
Copyright © 2017, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios.
4. Cree una vista en línea de la base de datos Oracle que muestre el apellido, el salario, el
ID de departamento y el salario máximo de cadadepartamento.
Indicación: Una consulta tendrá que calcular el salario máximo por ID de departamento.
SELECT e.last_name, e.salary, e.department_id, d.maxsal
FROM employees e,
( SELECT department_id, max(salary) maxsal
FROM employees
GROUP BY department_id ) d
WHERE e.department_id = d.department_id
AND e.salary = d.maxsal;
5. Cree una consulta que devuelva los miembros del personal de Global Fast Foods
clasificados por salario del más bajo al másalto.
SELECT ROWNUM AS "Longest employed", last_name, salary
FROM (SELECT last_name, salary FROM f_staffs ORDER BY salary)
WHERE ROWNUM <=3;
Copyright © 2017, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios.
Ejercicios de Ampliación
1. Cree una nueva tabla denominada my_departments y agregue todas las columnas y
todas las filas a la misma mediante una subconsulta desde la tabla departments de
Oracle. Ejecute SELECT * desde my_departments para confirmar que tiene todas las
columnas yfilas.
CREATE TABLE my_departments as SELECT * FROM departments;
2. Para ver las restricciones que pueden afectar a la tabla my_departments, utilice
DESCRIBE my_departments para comprobar si se han transferido restricciones desde la
tabla departments. Si hay restricciones en my_departments, utilice un comando ALTER
TABLE para desactivar todas las restricciones de my_departments con DISABLE.
Desc my departments
View created.
4. Agregue los datos siguientes a la tabla my_departments utilizando view_my_departments.
department_id department_name
105 Advertising
120 Custodial
130 Planning
INSERT INTO view_my_departments(department_id,
department_name)VALUES(105,'Advertising');
1 row(s) inserted.
Copyright © 2017, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios.
10. Convierta location_id en una columna NOT NULL en la tablamy_departments.
ALTER TABLE my_departments ADD CONSTRAINT my_departments_locationid_nn CHECK
(location_id IS NOT NULL);
Copyright © 2017, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios.
Los resultados de instrucción de selección de la vista
Copyright © 2017, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios.