Ir al contenido principal

Creando Tablas de Subquerys

En lugar de crear tablas de la nada y luego insertar filas en ellas. Las tablas pueden ser creadas en base a otras tablas mediante el uso de subquerys. Esta técnica permite crear la definición de una tabla y luego poblarla con filas con una sola sentencia. Cualquier consulta en absoluto puede ser usada como la fuente de creación de otra tabla (estructura). La sintaxis es la siguiente:

CREATE TABLE [esquema.]tabla  AS subquery;

Todas las consultas devuelve un conjunto de datos de dos dimensiones. Este resultado es almacenado en una nueva tabla.
Ejemplo:

CREATE TABLE employees_copia AS
SELECT * FROM employees;

Esta sentencia crea una copia idéntica de employees. Idéntica en la definición y las filas que contiene. Cualquier Constraint NOT NULL y CHECK sobre las columnas serán aplicados también a la nueva tabla. Pero cualquier Constraint Primary Key, Unique y Foreing-Key no serán creados. Esto es porque estos últimos tres tipos requieren de un índice que podría no estar disponible o deseado.
Cualquier subquery puede ser utilizado como fuente para crear una nueva tabla. Las filas son insertadas en el orden especificado. El subquery puede incluir la clausula WHERE para restringir las filas a insertar en la nueva tabla. Para crear una tabla sin ninguna fila, se deben excluir todas las filas, Así la tabla será creada sin ninguna fila y quedara lista para su uso.

CREATE TABLE employees_copia2 AS

SELECT * FROM employees WHERE 1=2;

Comentarios