Create Table SQL AS SELECT: Guia Prático

Guia definitivo de CREATE TABLE AS SELECT (CTAS) no SQL: aprenda criar tabelas a partir de consultas com exemplos práticos.

5 min de leitura
Compartilhar:
Create Table SQL AS SELECT: Guia Prático

O comando CREATE TABLE AS SELECT (abbreviado como CTAS) é uma ferramenta poderosa no universo de bancos de dados relacionais, especialmente no SQL, permitindo criar uma nova tabela a partir da seleção de dados existentes. Essa técnica é amplamente utilizada por desenvolvedores e administradores de banco de dados para facilitar operações de backup, transformação de dados e cópia de tabelas de forma eficiente.

Ao dominar o uso do CREATE TABLE AS SELECT, você consegue otimizar processos e evitar redundâncias no seu trabalho com dados. Este artigo apresenta um guia completo, com exemplos práticos, dicas e questões frequentes para que você possa aplicar essa funcionalidade na sua rotina.

Create Table SQL AS SELECT: Guia Prático

O que é o comando CREATE TABLE AS SELECT?

Definição

O comando CREATE TABLE AS SELECT permite criar uma nova tabela a partir do resultado de uma consulta SELECT. Em outras palavras, você pode copiar a estrutura e os dados de uma tabela existente ou criar uma nova tabela a partir de uma consulta específica.

Como funciona

Quando você executa um comando CTAS, uma nova tabela é criada com base na seleção e filtragem de dados de uma ou mais tabelas existentes. Dependendo da sintaxe utilizada, também é possível definir aspectos como restrições, índices ou tipos de dados específicos para a nova tabela.

Por que usar CREATE TABLE AS SELECT?

Vantagens principais

  • Facilidade e agilidade: crie tabelas novas rapidamente com base em consultas complexas.
  • Backup e réplica: copie dados de uma tabela para segurança ou testes.
  • Transformações de dados: gere versões alteradas de tabelas para análise ou processamento.
  • Evita redundância: criar tabelas temporárias ou persistentes durante processos de ETL.

Sintaxe básica do CREATE TABLE AS SELECT

Forma padrão

CREATE TABLE nome_da_tabela ASSELECT colunasFROM tabela_original[WHERE condições][OPCIONAL: definir restrições adicionais];

Exemplo prático:

CREATE TABLE clientes_ativos ASSELECT id, nome, emailFROM clientesWHERE ativo = 1;

Exemplos práticos de uso

1. Criando uma cópia de uma tabela

Para fazer uma cópia exata de uma tabela, incluindo dados:

CREATE TABLE copia_clientes ASSELECT * FROM clientes;

2. Filtrando dados na criação de nova tabela

Por exemplo, criar uma tabela apenas com clientes de uma certa região:

CREATE TABLE clientes_sul ASSELECT id, nome, estadoFROM clientesWHERE regiao = 'Sul';

3. Transformando dados durante a criação

Realizar cálculos ou modificações na consulta:

CREATE TABLE vendas_com_taxa ASSELECT id_venda, valor, valor * 1.05 AS valor_com_taxaFROM vendas;

Considerações ao usar CREATE TABLE AS SELECT

Diferença entre CTAS e CREATE TABLE + INSERT

O comando CREATE TABLE AS SELECT realiza uma combinação das etapas de criação e inserção de uma só vez, tornando o processo mais eficiente. Já o método tradicional exige a criação da tabela manualmente e, posteriormente, a inserção dos dados.

Compatibilidade entre bancos de dados

Embora a sintaxe básica seja semelhante, pode haver variações na implementação de CTAS entre bancos de dados como MySQL, PostgreSQL, SQL Server e Oracle. É importante consultar a documentação específica do seu sistema.

Cuidados com estruturas e restrições

Por padrão, a tabela criada via CTAS não herda restrições como chaves primárias, índices ou triggers. Essas configurações devem ser adicionadas posteriormente, se necessário.

Tabela comparativa: CREATE TABLE AS SELECT em diferentes SGBDs

SGBDSintaxe básicaObservações
MySQLCREATE TABLE nova_tabela AS SELECT ... ;Não suporta diretamente, sendo necessário usar SET ou CREATE TABLE + INSERT.
PostgreSQLCREATE TABLE nova_tabela AS SELECT ... ;Suporta CTAS de forma nativa e eficiente.
SQL ServerSELECT ... INTO nova_tabela FROM ... ;Usa SELECT INTO para criar a tabela e popular ao mesmo tempo.
OracleCREATE TABLE nova_tabela AS SELECT ... ;Compatível e amplamente utilizado.

Perguntas Frequentes (FAQs)

1. Posso criar uma tabela com dados de várias tabelas usando CTAS?

Sim. Basta usar uma consulta SQL com JOINs ou subconsultas na cláusula SELECT ao criar a nova tabela.

2. Quais limitações do comando CREATE TABLE AS SELECT?

Entre as limitações estão: não copiar restrições, chaves primárias ou índices existentes automaticamente; além de depender do suporte do sistema gerenciador de banco de dados.

3. Como criar uma tabela temporária usando CTAS?

Alguns bancos permitem criar tabelas temporárias com CTAS usando palavras-chave específicas (como TEMP ou TEMPORARY); consulte a documentação do seu sistema para detalhes.

Conclusão

O comando CREATE TABLE AS SELECT é uma ferramenta essencial para quem trabalha com bancos de dados relacionais. Sua utilização permite criar cópias, transformar dados e otimizar processos de gerenciamento de informações de maneira rápida e eficiente.

Entender as diferenças entre os principais sistemas gerenciadores de bancos de dados e suas particularidades é vital para tirar o máximo proveito dessa funcionalidade. Como disse o renomado especialista em banco de dados Ed Levenson, "A capacidade de criar e manipular tabelas de forma rápida é fundamental para qualquer profissional de dados".

Para aprofundar seus conhecimentos em SQL, consulte recursos como o SQLCourse e a documentação oficial do PostgreSQL.

Referências

  1. Gupta, C. (2020). SQL para Data Science. Editora Ciência Moderna.
  2. PostgreSQL Documentation. (2023). https://www.postgresql.org/docs/
  3. MySQL Documentation. (2023). https://dev.mysql.com/doc/
PS
Escrito por

Psicopedagogia

Compartilhamos conhecimento e informações relevantes para ajudar você a tomar melhores decisões. Acompanhe nosso blog para mais conteúdos como este.

Ver todos os artigos

Tags Relacionadas

create table as select ctas sql guia sql tabela a partir de consulta otimização sql banco de dados exemplos sql

Gostou deste artigo?

Compartilhe com seus amigos e colegas nas redes sociais

Fique por dentro das novidades

Receba artigos exclusivos, dicas e recursos sobre psicopedagogia diretamente no seu e-mail. Junte-se a milhares de profissionais e estudantes da área.

Respeitamos sua privacidade. Cancele quando quiser.