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