Articles

SQL LEFT JOIN (Português)

Resumo: neste tutorial, iremos introduzir-lhe outro tipo de ligações chamado SQL LEFT JOIN que lhe permite obter dados de várias tabelas.

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

no tutorial anterior, você aprendeu sobre a junção interior que devolve as linhas se existir, pelo menos, uma linha em ambas as tabelas que corresponda à condição de junção. A cláusula de junção interna elimina as linhas que não correspondem a uma linha da outra tabela.,

a junção à esquerda, contudo, devolve todas as linhas da tabela à esquerda, quer exista ou não uma linha correspondente na tabela à direita.

suponha que temos duas tabelas A E B. A tabela A tem quatro linhas 1, 2, 3 e 4. A tabela B também tem quatro linhas 3, 4, 5, 6.

Quando nos juntamos à tabela a com a tabela B, todas as linhas da tabela A (a tabela esquerda) são incluídas no conjunto de resultados se há uma linha correspondente na tabela B ou não.

Em SQL, usamos a seguinte sintaxe para aderir A tabela com tabela B.,

a cláusula de Junção À Esquerda aparece após a cláusula FROM. A condição que se segue a palavra-chave é chamado a condição join B.n = A.n

SQL LEFT JOIN exemplos

SQL LEFT JOIN de duas tabelas de exemplos

Vamos dar uma olhada no countries e locations tabelas.

Cada local pertence a um e somente um país, enquanto cada país pode ter zero ou mais locais., A relação entre as tabelas de países e locais é de um para muitos.

a coluna do país_id na tabela de localizações é a chave estrangeira que liga à coluna do país_id na tabela países.

para consultar os nomes dos países dos EUA, REINO UNIDO e China, você usa a seguinte declaração.,0bc”>

Vê-lo em ação

a consulta A seguir recupera os locais localizados NOS eua, reino UNIDO e China:

Vê-lo em ação

Agora, nós da ESQUERDA cláusula JOIN para unir os países tabela com os locais de tabela como a seguinte consulta:

Vê-lo em ação

A condição na cláusula WHERE é aplicado para que a instrução só recupera os dados de EUA, reino UNIDO, China e linhas.,

porque usamos a cláusula de junção à esquerda, todas as linhas que satisfazem a condição na cláusula onde da tabela de Países são incluídas no conjunto de resultados.

para cada linha na tabela de países, a cláusula de junção à esquerda encontra as linhas correspondentes na tabela de localizações.

Se for encontrada pelo menos uma linha correspondente, o motor da base de dados combina os dados das colunas das linhas correspondentes em ambas as tabelas.

no caso de não haver linha correspondente encontrada, por exemplo, com a cn_id do país, a linha na tabela países é incluída no conjunto de resultados e a linha na tabela locais é preenchida com valores nulos.,

dado que as linhas que não correspondem à tabela direita estão preenchidas com os valores nulos, poderá aplicar a cláusula de junção esquerda às linhas que não correspondem entre as tabelas.

Por exemplo, para encontrar o país que não tem quaisquer locais em que as localizações de tabela, você pode usar a seguinte consulta:

Vê-lo em ação

SQL LEFT JOIN 3 tabelas de exemplo

Consulte as tabelas a seguir: regiões, países e locais.,

Uma região pode ter zero ou muitos países, apesar de cada país é localizado em uma região. A relação entre os quadros de países e regiões é de um para muitos. A coluna region_id no quadro países é a ligação entre o quadro países e regiões.,

a instrução A seguir demonstra como juntar 3 tabelas: regiões, países e locais:

Vê-lo em ação

Agora você deve ter uma boa compreensão de como o SQL LEFT JOIN cláusula funciona e saber como aplicar o LEFT JOIN cláusula para consultar dados a partir de várias tabelas.

  • este tutorial foi útil ?
  • YesNo