PostgreSQL - Consulta em tabelas

Para trazer os dados de uma tabela, a tabela deve ser consultada. Este comando é dividido em lista de seleção (a parte que especifica as colunas a serem trazidas), lista de tabelas (a parte que especifica as tabelas de onde os dados vão ser trazidos), e uma qualificação opcional (a parte onde são especificadas as restrições)

Por | @oficinadanet Programação
Para trazer os dados de uma tabela, a tabela deve ser consultada. Para esta finalidade é utilizado o comando SELECT do SQL. Este comando é dividido em lista de seleção (a parte que especifica as colunas a serem trazidas), lista de tabelas (a parte que especifica as tabelas de onde os dados vão ser trazidos), e uma qualificação opcional (a parte onde são especificadas as restrições).

Por exemplo, para trazer todas as linhas da tabela clima digite:
SELECT * FROM clima; 


(aqui * é uma forma abreviada de “todas as colunas”). 3 Seriam obtidos os mesmos resultados usando:

SELECT cidade, temp_min, temp_max, prcp, data FROM clima;


A saída deve ser:

     cidade      | temp_min | temp_max | prcp |    data
-----------------+----------+----------+------+------------
São Francisco   |       46 |       50 | 0.25 | 1994-11-27
São Francisco   |       43 |       57 |    0 | 1994-11-29
Hayward         |       37 |       54 |      | 1994-11-29
(3 linhas)


Na lista de seleção podem ser especificadas expressões, e não apenas referências a colunas.

Por exemplo, pode ser escrito:
SELECT cidade, (temp_max+temp_min)/2 AS temp_media, data FROM clima;


devendo produzir:
     cidade      | temp_media |    data
-----------------+------------+------------
São Francisco   |         48 | 1994-11-27
São Francisco   |         50 | 1994-11-29
Hayward         |         45 | 1994-11-29
(3 linhas)


Perceba que a cláusula AS foi utilizada para mudar o nome da coluna de saída (a cláusula AS é opcional).
A consulta pode ser “qualificada”, adicionando a cláusula WHERE para especificar as linhas desejadas. A cláusula WHERE contém expressões booleanas (valor verdade), e somente são retornadas as linhas para as quais o valor da expressão booleana for verdade. São permitidos os operadores booleanos usuais (AND, OR e NOT) na qualificação.

Por exemplo, o comando abaixo retorna os registros do clima de São Francisco nos dias de chuva:
SELECT * FROM clima WHERE cidade = 'São Francisco' AND prcp > 0.0;


Resultado:
     cidade      | temp_min | temp_max | prcp |    data
-----------------+----------+----------+------+------------
São Francisco   |       46 |       50 | 0.25 | 1994-11-27
(1 linha)


Pode ser solicitado que os resultados da consulta sejam retornados em uma determinada ordem:
SELECT * FROM clima ORDER BY cidade;


     cidade      | temp_min | temp_max | prcp |    data
-----------------+----------+----------+------+------------
Hayward         |       37 |       54 |      | 1994-11-29
São Francisco   |       43 |       57 |    0 | 1994-11-29
São Francisco   |       46 |       50 | 0.25 | 1994-11-27


Neste exemplo a ordem de classificação não está totalmente especificada e, portanto, as linhas de São Francisco podem retornar em qualquer ordem.

Mas sempre seriam obtidos os resultados mostrados acima se fosse executado:
SELECT * FROM clima ORDER BY cidade, temp_min;


Pode ser solicitado que as linhas duplicadas sejam removidas do resultado da consulta:
SELECT DISTINCT cidade FROM clima;


    cidade
---------------
Hayward
São Francisco
(2 linhas)


Novamente, neste exemplo a ordem das linhas pode variar. Pode-se garantir resultados consistentes utilizando DISTINCT e ORDER BY juntos:

SELECT DISTINCT cidade FROM clima ORDER BY cidade;

Mais sobre: postgresql banco de dados select
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo