PostgreSQL LEFT JOIN (Português)

Resumo: neste tutorial, você aprenderá como usar o PostgreSQL LEFT JOIN cláusula para selecionar dados de várias tabelas.

Introdução à cláusula de junção à esquerda do PostgreSQL

suponha que tem duas tabelas: A e B.,

Cada linha na tabela A pode ter zero ou muitas linhas correspondentes na tabela B enquanto cada linha na tabela B tem uma, e somente uma linha correspondente na tabela A .

Para selecionar dados de uma tabela A que pode ou não pode ter linhas correspondentes na tabela B , você pode usar o LEFT JOIN cláusula.,

a instrução A seguir ilustra o LEFT JOIN sintaxe que associa a tabela A com a tabela B :

Code language: SQL (Structured Query Language) (sql)

Para entrar na tabela de A com a tabela B tabela usando um left join, siga estes passos:

  • Primeiro, especifique as colunas em ambas as tabelas a partir do qual você deseja selecionar dados SELECT cláusula.
  • Em segundo lugar, especificar a tabela à esquerda (tabela A) na cláusula FROM.,
  • Terceiro, especifique o direito de tabela (tabela B) LEFT JOIN cláusula e a condição de associação após o ON palavra-chave.

a cláusulaLEFT JOIN começa a seleccionar os dados da tabela esquerda. Para cada linha da tabela esquerda, compara o valor na coluna pka com o valor de cada linha na coluna fka na tabela direita.,

se estes valores forem iguais, a cláusula de junção à esquerda cria uma nova linha que contém colunas que aparecem no id

e adiciona esta linha ao conjunto de resultados.

no caso destes valores não serem iguais, a cláusula de junção à esquerda também cria uma nova linha que contém colunas que aparecem na cláusula SELECT. Além disso, preenche as colunas que vêm da mesa direita com NULL.,

O seguinte diagrama de Venn ilustra como o LEFT JOIN cláusula funciona:

Note que o LEFT JOIN é também referido como LEFT OUTER JOIN.

exemplos de junção à esquerda de PostgreSQL

vamos olhar para as seguintes tabelas film e inventory da base de dados de amostras.,

Cada linha film tabela pode ter zero ou várias linhas inventorytabela. Cada linha na tabelainventory tem uma e apenas uma linha na tabelafilm.

Thefilm_id column establishs the link between thefilm andinventory tables.,

a instrução A seguir usa o LEFT JOIN cláusula join film tabela com inventorytabela:

Quando uma linha de film tabela não tem uma linha correspondente na inventorytabela, o valor de inventory_id coluna desta linha é NULL.,

a seguinte declaração acrescenta uma cláusula

para encontrar os filmes que não estão no inventário:

a seguinte declaração devolve o mesmo resultado., A diferença é que ele usa a tabela de aliases para tornar a consulta mais concisa:

Se ambas as tabelas têm o mesmo nome de coluna usado no ON cláusula, você pode usar o USING sintaxe:

Esta técnica é útil quando você deseja selecionar linhas de uma tabela que não possuem linhas correspondentes na outra tabela.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Ir para a barra de ferramentas