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);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.
Fechamento
Neste guia, discutimos como amarrar consultas no PostgreSQL sem usar consultas separadas.