Publicado el Dejar un comentario

Crear una tabla a partir de una consulta en Oracle

A veces necesitamos crear una nueva tabla con un subconjunto de datos de otra tabla para ya sea obtener reportes o analizar datos. El proceso podría ser, primero definir los campos y crear la tabla que va a contener los datos necesitados y luego insertar los datos por medio de una consulta (query) hecha a la tabla original.

Podemos ahorrarnos el paso de la definición de los campos y creación de la tabla utilizando la sentencia sql CREATE TABLE .. AS. La sentencia define los campos en base a los número y tipo de datos devueltos por la consulta.

Por ejemplo, tenemos una tabla llamada EMP que contiene información de los empleados de una empresa:

Con la siguiente estructura:

Y queremos crear una tabla que contenga sólo los campos EMPNO, ENAME y SAL y los datos de los empleados del departamento (DEPTNO) número 20. Para ello ejecutaríamos la siguiente sentencia SQL:

CREATE TABLE departamento20 AS
SELECT empno, ename, sal 
FROM emp
WHERE deptno = 20;

La sentencia anterior nos crea la tabla llamada departamento20 y con los datos de los empleados del departamento (DEPTNO) 20 como muestra la siguiente imagen:

Con la estructura que se muestra enseguida:

¡Nos vemos a la próxima!

Deja un comentario