PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Por que SELECT sem colunas é válido


Direto do manual:

A lista de expressões de saída após SELECT pode estar vazio, produzindo uma tabela de resultados de coluna zero. Esta não é uma sintaxe válida de acordo com o padrão SQL. O PostgreSQL permite que seja consistente com a permissão de tabelas de coluna zero. No entanto, uma lista vazia não é permitida quando DISTINCT é usado.

A possibilidade de tabelas de "coluna zero" é um efeito colateral da herança de tabelas, se não me engano. Houve discussões sobre isso nas listas de discussão do Postgres (mas não consigo encontrá-las agora)