PostgreSQL Subquery

PostgreSQL Subquery
PostgreSQL é uma das ferramentas de gerenciamento de banco de dados mais poderosas e fáceis de usar. Ele fornece consultas simples e intuitivas, permitindo que você domine e lembre -se de instruções SQL facilmente.

Neste tutorial, discutiremos como usar as subconsivas PostgreSQL. As subconhecimento permitem criar consultas SQL complexas que são fortemente legíveis e fáceis de usar.

O que é uma subconsulta?

No PostgreSQL, uma subconsulta refere -se a uma consulta em uma consulta. Você pode amarrar subconsências a consultas típicas como selecionar, de onde, de, ter e mais.

Uma subconsência também é chamada de consulta interna.

A sintaxe básica para uma subconsência do PostgreSQL é:

Selecione Col1, Col2 no TB1, onde expr (selecione col1, col2 no TB1);

Nesse caso, as declarações dentro dos parênteses representam a subconsulta. Eles executam antes da consulta principal ou externa executar.

Depois que a subconeração retorna o resultado, a consulta principal o processa e retorna os resultados ao usuário.

No PostgreSQL, a ordem por não pode ser usada dentro de uma subconsulta.

Exemplo de subconstração PostGresql

Vamos ilustrar o uso de uma subconsência usando a cláusula WHERE. Suponha que tenhamos um banco de dados dos países com colunas: nome, country_id e representações de duas letras.

Podemos usar uma subconsulta para obter os países onde o ID é maior que 800.

Um exemplo de consulta está abaixo:

Selecione Nome, Two_Letter, country_id do país onde country_id (selecione country_id onde country_id> 800);

No exemplo acima, a subconsulta filtra os países com um ID superior a 800 e retorna o resultado à consulta principal.

Um exemplo de resultado está abaixo:

Exemplo 2

Suponha que queremos conseguir países com um ID maior que 800 e comece com a letra u.

Podemos amarrar a consulta dentro de uma subconeração como:

Selecione Nome, Two_Letter, country_id do país onde country_id (selecione country_id onde country_id> 800 e dois_letter como 'u%');

A consulta acima funciona de maneira semelhante à acima. No entanto, ele verifica duas condições de uma só vez e retorna o resultado para a consulta externa.

Exemplo 3

Embora não possamos usar a cláusula da Ordem por dentro de uma subconsulta PostgreSQL, podemos usar um grupo por consulta para executar uma função semelhante.

Por exemplo, considere a tabela de pagamento no banco de dados Sakila. Podemos executar uma ação como:

Selecione Payment_Id, valor DE pagamento onde page_id EM (Selecione Payment_Id DE grupo de pagamento por pagamento_id limite 5);

A consulta acima retornará os resultados agrupados por identificação de pagamento.

Exemplo 4

Também podemos usar o PostgreSQL com outras declarações. Por exemplo, podemos excluir registros específicos retornados de uma subconsulta.

Exclua do filme onde existe (selecione Film_id do filme onde filmes_id> 100);
Selecione * no limite do filme 5;

Na consulta acima, excluímos o filme em que o filme é maior que 100.

É bom garantir que outras pessoas que usam o banco de dados não tenham referenciado os registros que você deseja excluir.

Pontos de subconstração

Há poucos pontos a serem lembrados ao trabalhar com as subconsivas PostgreSQL.

  1. Inclua as subconsminações com parênteses.
  2. Verifique se a subconeração retorna um valor porque a consulta externa funcionará no resultado da subconsulta.
  3. Você pode usar subconsposições com vários operadores SQL, desde que eles não retornem um valor nulo.

Fechamento

Neste guia, discutimos como amarrar consultas no PostgreSQL sem usar consultas separadas.