Sie sind auf Seite 1von 3

Introduction to Oracle: SQL and PL/SQL, Instructor Guide, Volumen 1

Práctica 6: Sub-Consultas
--------------------------------------------------------------------

Ejercicio 1:
Escribe una consulta para mostrar el nombre del empleado y la fecha de c
ontratación para todos los empleados en el mismo departamento que
el departamento del empleado 'BLAKE'
SQL> SELECT ename, hiredate
FROM EMP
WHERE deptno =
( SELECT deptno
FROM EMP
WHERE ename = 'BLAKE' )
AND ename <> 'BLAKE';

Ejercicio 2:
Crea una consulta para mostrar el número de empleado y el nombre para todo
s los empleados que ganan más que el salario promedio.
Ordena los resultados en forma descendente con respecto a los va
lores de salario.
SQL> SELECT empno, ename
FROM EMP
WHERE sal >
( SELECT AVG( sal )
FROM EMP )
ORDER BY sal DESC;

Ejercicio 3:
Crea una consulta que mostrará el número de empleado y el nombre para todos
los empleados que trabajan en un departamento
con cualquiera de sus empleados cuyo nombre contiene una letra T
.
Guarde la sentencia SQL en un archivo llamado p6q3.sql.
SQL> SELECT empno, ename
FROM EMP
WHERE deptno IN
( SELECT DISTINCT deptno
FROM EMP
WHERE ename LIKE '%T%');

SQL> save p6q3.sql

Ejercicio 4: Muestre el nombre de empleado, el número de departamento, y el tra


bajo para todos los empleados cuya ubicación del departamento está en la ciudad de '
DALLAS'.
SQL> SELECT ename, deptno, job
FROM EMP
WHERE deptno =
( SELECT deptno
FROM DEPT
WHERE loc LIKE 'DALLAS' );

Ejercicio 5: Muestre el nombre de empleado y el salario de todos los empleado


s que se reportan a 'KING'.
AYUDAS:
(todos los empleados que tienen como gerente a 'KING')
(EMP.MGR es de tipo NUMBER y tiene el número de empleado del Gerer
ente)
(TODOS LOS EMPLEADOS QUE TIENEN EMP.MGR = NÚMERO DE EMPLEADO DE KI
NG)
SQL> SELECT ename, sal
FROM EMP
WHERE MGR =
( SELECT empno
FROM EMP
WHERE ename = 'KING' );
Ejercicio 6: Muestre el número de departamento, el nombre, y el trabajo para to
dos los empleados que están en el departamento 'SALES'.
SQL> SELECT deptno, ename, job
FROM EMP
WHERE deptno =
( SELECT deptno
FROM DEPT
WHERE dname = 'SALES' )
;

Ejercicio 7: Modifique el archivo p6q3.sql para mostrar el número de empleado,


el nombre, y el salario para todos los empleados que ganan más que el salario pro
medio
Y que trabajan en un departamento con cualquiera de sus empleado
s que tiene una letra T en su nombre.
Guarde nuevamente el archivo como p6q7.sql.
Ejecute nuevamente su consulta.
SQL> SELECT empno, ename, sal
FROM EMP
WHERE sal >
( SELECT AVG( sal )
FROM EMP )
AND deptno IN
( SELECT DISTINCT deptno
FROM EMP
WHERE ename LIKE '%T%');
SQL> save p6q7.sql
SQL> start p6q7.sql

Das könnte Ihnen auch gefallen