O Left Join no MySQL é usado para consultar registros de várias tabelas. Esta cláusula é semelhante à cláusula Inner Join que pode ser usada com uma instrução SELECT imediatamente após a palavra-chave FROM. Quando usamos a cláusula Left Join, ela retornará todos os registros da primeira tabela (lado esquerdo), mesmo que nenhum registro correspondente seja encontrado na segunda tabela (lado direito). Se não encontrar nenhum registro de correspondência na tabela do lado direito, retornará nulo.
Em outras palavras, a cláusula Left Join retorna todas as linhas da tabela esquerda e os registros correspondentes da tabela direita ou retorna Null se nenhum registro correspondente for encontrado. Este Join também pode ser chamado de Junção Externa Esquerda cláusula. Portanto, Outer é a palavra-chave opcional para usar com Left Join.
Podemos entender isso com a seguinte representação visual onde Left Joins retorna todos os registros da tabela à esquerda e apenas os registros correspondentes da tabela à direita:
Sintaxe LEFT JOIN do MySQL
A sintaxe a seguir explica a cláusula Left Join para unir duas ou mais tabelas:
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON Join_Condition;
Na sintaxe acima, tabela 1 é a tabela da esquerda, e mesa 2 é a tabela da direita. Esta cláusula retorna todos os registros da tabela1 e registros correspondentes da tabela2 com base no especificado condição de adesão .
alinhamento de texto css
Exemplo de MySQL LEFT JOIN
Vejamos alguns exemplos para entender o funcionamento da cláusula Left Join ou Left Outer Join:
mostrar aos usuários mysql
Cláusula LEFT JOIN para unir duas tabelas
Aqui, vamos criar duas tabelas ' clientes' e ' pedidos' que contém os seguintes dados:
Tabela: clientes
Tabela: pedidos
Para selecionar registros de ambas as tabelas, execute a seguinte consulta:
SELECT customers.customer_id, cust_name, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Após a execução bem-sucedida da consulta, a seguinte saída será exibida:
programa java simples
MySQL LEFT JOIN com cláusula USING
A tabela clientes e pedidos possuem o mesmo nome de coluna, que é customer_id. Nesse caso, MySQL Left Join também pode ser usado com a cláusula USING para acessar os registros. A instrução a seguir retorna o ID do cliente, o nome do cliente, a ocupação, o preço e a data usando a cláusula Left Join com a palavra-chave USING.
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id);
A instrução acima fornecerá a seguinte saída:
MySQL LEFT JOIN com cláusula Group By
O Left Join também pode ser usado com a cláusula GROUP BY. A instrução a seguir retorna o ID do cliente, o nome do cliente, a qualificação, o preço e a data usando a cláusula Left Join com a cláusula GROUP BY.
SELECT customers.customer_id, cust_name, qualification, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY price;
A instrução acima fornecerá a seguinte saída:
LEFT JOIN com cláusula WHERE
A cláusula WHERE é usada para retornar o filtro resultado da tabela. O exemplo a seguir ilustra isso com a cláusula Left Join:
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price>2500;
Esta afirmação dá o resultado abaixo:
MySQL LEFT JOIN Várias Tabelas
Já criamos duas tabelas chamadas ' clientes' e ' pedidos' . Vamos criar mais uma tabela e nomeá-la como ' contatos' que contém os seguintes dados:
Execute a seguinte instrução para unir as três tabelas clientes, pedidos e contatos:
seletor de consultas
SELECT customers.customer_id, cust_name, order_id, price, cellphone FROM customers LEFT JOIN contacts ON customer_id = contact_id LEFT JOIN orders ON customers.customer_id = orders.customer_id ORDER BY income;
Após a execução bem-sucedida da consulta acima, a seguinte saída será obtida:
Uso da cláusula LEFT JOIN para obter registros incomparáveis
A cláusula LEFT JOIN também é útil quando queremos obter registros na tabela que não contém nenhuma linha de dados correspondente de outra tabela.
Podemos entender isso com o seguinte exemplo que utiliza a cláusula LEFT JOIN para localizar um cliente que não possui número de celular:
como converter str para int
SELECT customer_id, cust_name, cellphone, homephone FROM customers LEFT JOIN contacts ON customer_id = contact_id WHERE cellphone IS NULL ;
A instrução acima retorna a seguinte saída:
Diferença entre cláusula WHERE e ON no MySQL LEFT JOIN
No LEFT Join, a condição WHERE e ON dá um resultado diferente. Podemos ver as seguintes consultas para entender suas diferenças:
Cláusula ONDE
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price=2500;
Ele fornecerá a seguinte saída que retorna:
Cláusula ON
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500;
Ele dará a seguinte saída: