PostgreSQL SELECT INTO
Summary: neste tutorial, aprenderá como utilizar o PostgreSQL SELECT INTO
declaração para criar uma nova tabela a partir do conjunto de resultados de uma consulta.
Se estiver à procura da forma de seleccionar dados em variáveis, verifique a declaração PL/pgSQL SELECT INTO
.
Introdução ao PostgreSQL SELECT INTO declaração
O PostgreSQL SELECT INTO
declaração cria uma nova tabela e insere dados retornados de uma consulta na tabela.
A nova tabela terá colunas com os mesmos nomes que as colunas do conjunto de resultados da consulta. Ao contrário de uma declaração regular SELECT
, a declaração SELECT INTO
não devolve um resultado ao cliente.
O seguinte ilustra a sintaxe do PostgreSQL SELECT INTO
declaração:
Code language: SQL (Structured Query Language) (sql)SELECT select_listINTO new_table_nameFROM table_nameWHERE search_condition;
Para criar uma nova tabela com a estrutura e os dados derivados de um conjunto de resultados, especifica-se o novo nome da tabela após a INTO
palavra-chave.
O TEMP
ou TEMPORARY
a palavra-chave é opcional; permite criar uma tabela temporária em vez disso.
O UNLOGGED
a palavra-chave, se disponível, tornará a nova tabela como uma tabela não registada.
O WHERE
cláusula permite especificar as linhas das tabelas originais que devem ser inseridas na nova tabela. Além da cláusula WHERE
, pode usar outras cláusulas na cláusula SELECT
declaração para a SELECT INTO
declaração como INNER JOIN
LEFT JOIN
GROUP BY
, e HAVING
.
Nota que não pode utilizar a cláusula SELECT INTO
declaração em PL/pgSQL porque interpreta a cláusula INTO
de forma diferente. Neste caso, pode utilizar a declaração CREATE TABLE AS
que fornece mais funcionalidade do que a SELECT INTO
declaração.
PostgreSQL SELECT INTO exemplos
Utilizaremos a tabela film
da base de dados de amostras para a demonstração.
A seguinte declaração cria uma nova tabela chamado film_r
que contém filmes com a classificação R
e duração do aluguer 5 dias a partir da tabela film
.
Code language: SQL (Structured Query Language) (sql)SELECT film_id, title, rental_rateINTO TABLE film_rFROM filmWHERE rating = 'R'AND rental_duration = 5ORDER BY title;
Para verificar a criação da tabela, pode consultar os dados da tabela film_r
:
Code language: SQL (Structured Query Language) (sql)SELECT * FROM film_r;
A seguinte declaração cria uma tabela temporária chamada short_film
que contém os filmes cuja duração é inferior a 60 minutos.
Code language: SQL (Structured Query Language) (sql)
O seguinte mostra os dados da tabela short_film
:
Code language: SQL (Structured Query Language) (sql)SELECT * FROM short_film;
Neste tutorial, aprendeu como utilizar o PostgreSQL SELECT INTO
declaração para criar uma nova tabela a partir do conjunto de resultados de uma consulta.