MySQL tem principalmente dois tipos de junções denominadas Junção Esquerda e Junção Direita. A principal diferença entre estas junções é a inclusão de linhas não correspondentes. O LEFT JOIN inclui todos os registros do lado esquerdo e linhas combinadas da tabela da direita, enquanto RIGHT JOIN retorna todas as linhas do lado direito e linhas não combinadas da tabela da esquerda. Nesta seção, vamos conhecer as diferenças populares entre LEFT e RIGHT JOIN. Antes de explorar a comparação, vamos primeiro entender JOIN, LEFT JOIN, e cláusula RIGHT JOIN no MySQL.
O que é cláusula JOIN?
Um join é usado para consultar dados de várias tabelas e retorna o resultado combinado de duas ou mais tabelas através de uma condição. A condição na cláusula join indica como as colunas são combinadas entre as tabelas especificadas.
O que é a cláusula LEFT JOIN ?
A cláusula Left Join junta duas ou mais tabelas e retorna todas as linhas da tabela da esquerda e registros combinados da tabela da direita ou retorna nulo se não encontrar nenhum registro combinado. Também é conhecida como Left Outer Join. Portanto, Outer é a palavra-chave opcional para usar com Left Join.
Nós podemos entendê-la com a seguinte representação visual:
Para ler mais informações sobre o LEFT join, clique aqui.
Qual é a cláusula de junção à direita?
A cláusula de junção à direita junta duas ou mais tabelas e retorna todas as linhas da tabela da direita, e apenas os resultados da outra tabela que preencham a condição de junção especificada. Se encontrar registros inigualáveis da tabela do lado esquerdo, retorna o valor Nulo. Também é conhecido como Right Outer Join. Portanto, Outer é a cláusula opcional para usar com Right Join.
Nós podemos entendê-la com a seguinte representação visual.
Para ler mais informações sobre RIGHT JOIN, clique aqui.
Sintaxe de LEFT JOIN JOIN Clause
A sintaxe geral de LEFT JOIN:
A sintaxe geral de LEFT OUTER JOIN é a seguinte:
Sintaxe de RIGHT JOIN Clause
A sintaxe geral de RIGHT JOIN:
A sintaxe geral de RIGHT OUTER JOIN:
LEFT JOIN vs. LEFT OUTER JOIN RIGHT JOIN
A seguinte tabela de comparação explica as suas principais diferenças de uma forma rápida:
LEFT JOIN | RIGHT JOIN | Junta duas ou mais tabelas, retorna todos os registos da tabela da esquerda, e as linhas correspondentes da tabela da direita. | É usado para juntar duas ou mais tabelas, retorna todos os registos da tabela da direita, e as linhas correspondentes da tabela da esquerda. |
---|---|
O conjunto de resultados conterá valor nulo se não houver linha correspondente na tabela do lado direito. | O conjunto de resultados conterá valor nulo se não houver linha correspondente na tabela do lado esquerdo. |
É também conhecido como LEFT OUTER JOIN. | É também conhecido como RIGHT OUTER JOIN. |
Exemplo
Deixe-nos compreender as diferenças entre ambas as junções através de exemplos. Suponha que temos uma tabela chamada “cliente” e “encomendas” que contém os seguintes dados:
>
Tabela: cliente
>
Tabela: encomendas
Junta à Esquerda Exemplo
>
Seguir a instrução SQL retorna os registos correspondentes de ambas as tabelas usando a consulta JOIN à Esquerda:
Após a execução bem sucedida da consulta, obteremos a saída da seguinte forma:
RIGHT JOIN Example
Following SQL Statement retorna os registros correspondentes de ambas as tabelas usando a consulta RIGHT JOIN:
Após a execução bem sucedida da consulta, obteremos a saída da seguinte forma: