O processo de recuperação, ou o comando para recuperar dados de um
banco de dados, é chamado de consulta.
Na linguagem SQL, o comando
SELECT
é usado para especificar consultas.
A sintaxe geral do comando SELECT é
[WITHconsultas] SELECTlista_de_seleçãoFROMexpressão_de_tabela[especificação_de_ordenação]
As seções a seguir descrevem os detalhes da lista de seleção,
a expressão de tabela e a especificação de ordenação.
As consultas WITH são tratadas por último,
porque são um recurso avançado.
Um tipo simples de consulta tem a forma:
SELECT * FROM tabela1;
Assumindo que exista uma tabela chamada tabela1,
o comando acima recuperaria todas as linhas e todas as colunas
definidas pelo usuário presentes na tabela1.
(O método de recuperação depende da aplicação cliente. Por exemplo,
o programa psql exibirá uma tabela
ASCII-art
na tela, enquanto as bibliotecas cliente oferecerão funções para
extrair valores individualmente do resultado da consulta.)
A especificação da lista de seleção como sendo um *
significa todas as colunas que a expressão de tabela fornece.
Uma lista de seleção também pode selecionar um subconjunto das colunas
disponíveis, ou fazer cálculos usando as colunas.
Por exemplo, se a tabela1 possuir colunas chamadas
a, b e c
(e talvez outras), então será possível fazer a seguinte consulta:
SELECT a, b + c FROM tabela1;
(assumindo que b e c possuem
tipo de dados numérico)
Veja a Seção 7.3 para obter mais detalhes.
FROM tabela1 é um tipo simples de expressão de
tabela: lê apenas uma tabela. Em geral, as expressões de tabela podem
ser construções complexas de tabelas-base, junções e subconsultas.
Mas também é possível omitir inteiramente a expressão de tabela,
e usar o comando SELECT como uma calculadora:
SELECT 3 * 4;
Isto é mais útil quando as expressões na lista de seleção retornam resultados variados. Por exemplo, pode-se chamar uma função dessa forma:
SELECT random();