PostgreSQL SELECT

Uma das tarefas mais comuns, quando você trabalha com o banco de dados, é consultar dados de tabelas usando a instrução SELECT.

A instrução SELECT é uma das instruções mais complexas do PostgreSQL. Ele contém muitas cláusulas que você pode usar para formar uma consulta flexível.

Por causa de sua complexidade, iremos dividi-lo em muitos tutoriais mais curtos e fáceis de entender para que você possa aprender sobre cada cláusula mais rapidamente.

A declaração SELECT contém as seguintes cláusulas:

  • Selecione linhas distintas usando o operador DISTINCT.
  • Classifique as linhas usando a cláusula ORDER BY.
  • Filtre as linhas usando uma cláusula WHERE.
  • Selecione um subconjunto de linhas de uma tabela usando a cláusula LIMITou FETCH.
  • Agrupe as linhas em grupos usando a cláusula GROUP BY.
  • Filtre grupos usando cláusula HAVING.
  • Agrupe tabelas utilizando INNER JOINLEFT JOINFULL OUTER JOINCROSS JOIN.
  • Executar operações set usando UNIONINTERSECTEXCEPT.

Neste tutorial, você se concentrará nas  cláusulas SELECTFROM.

SELECTSintaxe da instrução PostgreSQL

Vamos começar com a forma básica da instrução SELECT que recupera dados de uma única tabela.

A instrução abaixo ilustra a sintaxe da SELECT:

 SELECT 
   select_list
 FROM 
   table_name;

Vamos examinar a declaração SELECT com mais detalhes:

  • Primeiro, especifique uma lista de seleção que pode ser uma coluna ou uma lista de colunas em uma tabela da qual você deseja recuperar dados. Se você especificar uma lista de colunas, será necessário colocar uma vírgula ( ,) entre as duas colunas para separá-las. Se você deseja selecionar dados de todas as colunas da tabela, você pode usar uma abreviação de asterisco (*) em vez de especificar todos os nomes de coluna. A lista de seleção também pode conter expressões ou valores literais.
  • Em segundo lugar, especifique o nome da tabela da qual deseja consultar os dados após a palavra – chave FROM.

A cláusula FROM é opcional. Se você não consultar dados de nenhuma tabela, pode omitir a cláusula FROM na instrução SELECT.

O PostgreSQL avalia a cláusula FROM antes da cláusula SELECT na instrução:

Observe que as palavras-chave SQL não diferenciam maiúsculas de minúsculas. Isso significa que SELECT é equivalente a select ou Select. Por convenção, usaremos todas as palavras-chave SQL em maiúsculas para tornar as consultas mais fáceis de ler.

SELECT – Exemplos de PostgreSQL

Vamos dar uma olhada em alguns exemplos de uso da instrução SELECT no PostgreSQL .

Usaremos a tabela  cliente a seguir  no  banco  de dados de exemplo para a demonstração.

1) Usando a instrução SELECT no PostgreSQL para consultar dados de um exemplo de coluna

Este exemplo usa a instrução SELECT para encontrar os primeiros nomes de todos os clientes da tabela clientes:

 SELECT  primeiro_nome  FROM  clientes;

Aqui está a saída parcial:

PostgreSQL Select - Seleção de uma única coluna

Observe que adicionamos um ponto-e-vírgula ( ;) ao final da instrução SELECT. O ponto-e-vírgula não faz parte da instrução SQL. É usado para sinalizar ao PostgreSQL o fim de uma instrução SQL. O ponto-e-vírgula também é usado para separar duas instruções SQL.

2) Usando a instrução SELECT no PostgreSQL para consultar dados de um exemplo de múltiplas colunas

Suponha que você queira apenas saber o nome, sobrenome e e-mail dos clientes, você pode especificar esses nomes de coluna na cláusula SELECT conforme mostrado na seguinte consulta:

 SELECT 
   primeiro_nome,
   ultimo_nome,
   email
 FROM 
   clientes;

3) Usando a instrução SELECT no PostgreSQL para consultar dados de todas as colunas de uma tabela;

A consulta a seguir usa a instrução SELECT para selecionar dados de todas as colunas da tabela clientes:

 SELECT  *  FROM  clientes;

Neste exemplo, usamos um asterisco ( *) na cláusula SELECT, que é uma abreviação para todas as colunas. Em vez de listar todas as colunas na cláusula SELECT, apenas usamos o asterisco ( *) para economizar alguma digitação.

No entanto, não é uma boa prática usar o asterisco ( *) na instrução SELECT ao incorporar instruções SQL no código do aplicativo como Python , Java , Node.js ou PHP devido aos seguintes motivos:

  1. Desempenho do banco de dados. Suponha que você tenha uma tabela com muitas colunas e muitos dados, a instrução SELECT com a abreviação asterisco (*) selecionará dados de todas as colunas da tabela, que podem não ser necessários para o aplicativo.
  2. Desempenho do aplicativo. A recuperação de dados desnecessários do banco de dados aumenta o tráfego entre o servidor de banco de dados e o servidor de aplicativos. Consequentemente, seus aplicativos podem ser mais lentos para responder e menos escalonáveis.

Por esses motivos, é uma boa prática especificar explicitamente os nomes das colunas na cláusula SELECT sempre que possível para obter apenas os dados necessários do banco de dados.

E você só deve usar a abreviação de asterisco (*) para as consultas ad-hoc que examinam os dados do banco de dados.

4) Usando a instrução SELECT bo PostgreSQL com exemplos de expressões

O exemplo a seguir usa a instrução SELECT para retornar nomes completos e e-mails de todos os clientes:

 SELECT  
   primeiro_nome || ' ' || ultimo_nome,
   email
 FROM  
   clientes;

Resultado:

Neste exemplo, usamos o operador || de concatenação para concatenar o nome, espaço e sobrenome de cada cliente.

Você aprenderá a usar apelidos de coluna para atribuir nomes mais significativos a expressões no próximo tutorial.

5) Usando a instrução SELECT no PostgreSQL com exemplos de expressões

O exemplo a seguir usa a instrução SELECT com uma expressão. Omite a cláusula FROM:

 SELECT  5 * 40;

Aqui está o resultado:

Neste tutorial, você aprendeu como usar uma forma básica da instrução SELECT no PostgreSQL para consultar dados de uma única tabela.

Deixe um comentário

O seu endereço de e-mail não será publicado.