Generar filas para ser pasadas a una sentencia DML
insert into sales_hist
select * from sales where date > sysdate-1;
En este primer ejemplo se utiliza un subquery en una sentencia INSERT,
el subquery selecciona las ventas de una tabla SALES donde la fecha sea mayor a
SYSDATE-1. Las filas seleccionadas serán insertadas en la tabla SALES.
update employees set
salary = (select avg(salary) from employees);
En el ejemplo se utiliza un subquery en una sentencia UPDATE que
actualiza el campo SALARY de la tabla EMPLOYEES asignando un nuevo valor al
campo SALARY el cual es producto de un subquery, el cual obtiene el promedio de
salario de los empleados.
delete from departments
where department_id not in (select department_id
from employees);
Y por último en una sentencia DELETE a la tabla DEPARTMENTS. Aquí se
eliminaran los departamentos que nunca han sido asignados a un empleado. También
hace uso de subquery el cual obtiene los ID de Departamentos asignados a los
empleados.
Nota: Un subquery puede ser utilizado para seleccionar filas para ser
insertadas, pero no en la clausula VALUES de una sentencia INSERT.
Comentarios
Publicar un comentario