Usando o MySQL deixado junto

Usando o MySQL deixado junto
Uma das cláusulas úteis do MySQL é se juntar. É usado para recuperar dados de duas ou mais tabelas relacionadas. MySQL contém principalmente dois tipos de junção. Um é interno junção e outro é a junção externa. A junção externa é novamente dividida na junção esquerda e na junção direita. Este tutorial está focado principalmente nos usos da junção esquerda. A junção esquerda é usada para recuperar todos os registros da tabela do lado esquerdo com base nas condições específicas e naqueles registros da tabela do lado direito, onde os campos de junção de ambas as tabelas correspondem. Este tutorial mostra os usos da junção esquerda no MySQL usando vários exemplos.

Sintaxe:

Selecione Field1, Field2, Field3,… Fieldn
Da Tabela 1
Esquerda [Exterior] Junte -se Tabela 2
Na Tabela 1.campo = Tabela2.campo;

Aqui, usar a palavra -chave externa é opcional. Qualquer campo de tabela 1 e os campos comuns de ambos tabela 1 e mesa 2 pode ser definido na consulta selecionada. Os registros serão retornados com base nas condições definidas após a cláusula ON.

Pré -requisito:

Antes de iniciar este tutorial, você deve criar o banco de dados e as tabelas necessários com dados, para verificar o uso da junção esquerda. Aqui, um banco de dados nomeado empresa é criado e duas tabelas relacionadas nomeadas clientes e ordens são criados. A junção à esquerda será aplicada nessas tabelas.

Se você não criou o empresa Banco de dados antes de executar a seguinte declaração para criar o banco de dados.

Criar empresa de banco de dados;

Execute a seguinte declaração para criar clientes Tabela de quatro campos (id, nome, celular_no e e -mail. Aqui, eu ia é uma chave primária.

Crie clientes de tabela (
ID Int (5) Auto_increment Primária Chave,
Nome Varchar (50) não nulo,
celular_no varchar (50) não nulo,
email varchar (50) não nulo) mecanismo = innodb;

Execute a seguinte declaração para criar ordens Tabela que está relacionada à tabela de cinco campos (ID, Order_date, Customer_id, Delivery_address e Montante). Aqui eu ia é uma chave primária e Identificação do Cliente é uma chave estrangeira.

Crie pedidos de tabela (
Id Varchar (20) Chave primária,
data de ordem_date,
cliente_id int (5) não nulo,
Delivery_address Varchar (50) Não NULL,
Valor int (11),
Foreign Key (Customer_Id) Referências Clientes (ID))
Motor = innodb;

Execute a seguinte declaração para inserir alguns dados em clientes mesa.

Insira os valores dos clientes

(Null, 'Johnathan', '18477366643', '[email protected] '),
(Null, 'Musfiquur Rahman', '17839394985', '[email protected] '),
(Null, 'Jimmy', '14993774655', '[email protected] ');

Execute a seguinte declaração para inserir alguns dados em ordens mesa.

Insira os valores dos pedidos
('1937747', '2020-01-02', 1, 'New Work', 1000),
('8633664', '2020-02-12', 3, 'Texas', 1500),
('4562777', '2020-02-05', 1, 'California', 800),
('3434959', '2020-03-01', 2, 'New Work', 900),
('7887775', '2020-03-17', 3, 'Texas', 400);

A declaração a seguir mostrará os registros de clientes mesa.

Selecione * dos clientes;

A declaração a seguir mostrará os registros de ordens mesa.

Selecione * de pedidos;

Agora, as tabelas com dados estão prontas e você pode aplicar a junção à esquerda nessas mesas para saber como funciona.

Uso de junção esquerda simples

O exemplo a seguir mostra o uso muito simples da junção esquerda. Ele recuperará três campos de clientes mesa e dois campos de ordens Tabela onde eu ia de clientes mesa e Identificação do Cliente de ordens A tabela são iguais.

Selecione clientes.id, clientes.nome, clientes.Mobile_no, pedidos.data do pedido,
ordens.quantia
De clientes
Deixou pedidos de junção
Em clientes.id = ordens.Identificação do Cliente;

A saída a seguir será exibida após a execução da instrução SQL acima. 3 eu ia valores de clientes A tabela apareceu 5 vezes como Identificação do Cliente valores em ordens mesa. Então, cinco linhas são devolvidas como saída.

Uso de junta à esquerda em onde a cláusula na mesa esquerda

A declaração a seguir mostra como a cláusula onde pode ser usada com junção entre duas tabelas. Aqui, 1 campo da tabela de clientes e 3 campos de pedidos serão recuperados onde eu ia de clientes mesa e Identificação do Cliente de ordens Tabela são iguais e eu ia de clientes A tabela é menor que 3.

Selecione clientes.nome, ordens.order_date, ordens.Delivery_address, ordens.quantia
De clientes
Deixou pedidos de junção
Em clientes.id = ordens.Customer_id onde clientes.eu ia < 3;

2 Os registros existem em clientes Tabela onde eu ia é menor que três e 3 registros de ordens Materia de tabela com esses 2 registros (1 e 2). Então, três linhas correspondentes serão devolvidas. A saída a seguir aparecerá após a execução do script.

Uso de junta à esquerda em onde a cláusula na mesa certa

Na seguinte declaração SQL, ordens A tabela é usada como uma tabela do lado esquerdo e clientes A tabela é usada como um lado direito do operador de junção esquerda. Ele recuperará três campos de ordens mesa e um campo de clientes Tabela onde Identificação do Cliente de ordens mesa e eu ia de clientes a tabela são iguais e ordenadas quantia é melhor que 900.

Selecione pedidos.id, ordens.order_date, ordens.quantidade, clientes.nome
De ordens
Esquerda, junte -se aos clientes
Em ordens.Customer_id = clientes.id onde ordens.valor> 900;

Se você verificar o ordens Tabela então você verá que há apenas duas quantias mais do que 900. Estes são 1000 e 1500 e os IDs de clientes ordenados são 1 e 3, que são os valores de identificação de Johnathan e Jimmy. A saída a seguir aparecerá após a execução da declaração.

Qualquer função agregada pode ser usada com a cláusula de junção na instrução SQL. Na instrução SQL a seguir, a junção esquerda é usada em duas tabelas e a soma da função agregada () é usada para calcular a soma total do grupo de quantidades ordenadas por eu ia de clientes mesa.

Selecione clientes.nome, clientes.celular_no, soma (pedidos.quantia)
De ordens
Esquerda, junte -se aos clientes
Em clientes.id = ordens.Customer_id Group por pedidos.Identificação do Cliente;

Há três eu ia valores em clientes mesa e de acordo com ordens Tabela, existem duas entradas para o valor de identificação 1 (1000 + 800 = 1800), uma entradas para o valor de identificação 2 (900) e duas entradas para o valor de identificação 3 (400 + 1500 = 1900). A saída a seguir aparecerá após a execução da declaração.


Conclusão:

De acordo com os requisitos de pesquisa, você pode usar diferentes tipos de cláusulas de junção em sua instrução SQL para descobrir o resultado preciso das tabelas de banco de dados. As declarações SQL usadas neste artigo explicam os vários usos da junção esquerda para recuperar o conjunto de resultados diferentes de duas tabelas. Você pode usar mais de duas tabelas para se juntar para escrever uma consulta mais complexa. Espero que este tutorial ajude os iniciantes a saber o uso da esquerda.