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!