logo

Tipos de SQL JOIN

SQL JOIN

Um SQL Join é usado para buscar ou combinar dados (linhas ou colunas) de duas ou mais tabelas com base nas condições definidas.

Tabela 1: Pedido

ID do pedido Identificação do Cliente Nome do pedido Nome do Produto
12025 101 Peter abc
12030 105 Roberto XYX
12032 110 James XYZ
12034 115 André PQR
12035 120 Matheus AAA

Tabela 2: Cliente

Identificação do Cliente Nome do cliente País
100 Bagunçado Máximo
101 Principe Taiwan
103 Maria Fernández Peru
105 Jasmim Paris
110 Faf Doninha Indonésia
120 Foguete Roma Rússia

Agora temos duas tabelas Ordem e a Cliente . Existe um Identificação do Cliente coluna comum em ambas as tabelas. Portanto, escreva a consulta SQL para definir o relacionamento geral para selecionar os registros das correspondências de ambas as tabelas.

 Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID; 

Depois de executar o acima SQL consultas, ele produz a seguinte saída:

ID do pedido Nome do cliente País Nome do Produto
12025 Principe Taiwan abc
12030 Jasmim Paris XYX
12032 Faf Doninha Indonésia XYZ
12035 Foguete Roma Rússia AAA

Tipos de junção SQL

Existem diferentes tipos de junções usadas em SQL:

  1. Junção interna/junção simples
  2. Junção Externa Esquerda / Junção Esquerda
  3. Junção Externa Direita / Junção Direita
  4. Junção externa completa
  5. Junção Cruzada
  6. Auto-associação

Junção interna

A junção interna é usada para selecionar todas as linhas ou colunas correspondentes em ambas as tabelas ou desde que a condição definida seja válida em SQL.

Sintaxe:

 Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column; 

Podemos representar a junção interna através do diagrama de Venn, da seguinte forma:

Tipos de SQL JOIN

Tabela 1: Alunos

Identidade estudantil Nome do aluno Assunto ID do professor
101 Alexandra Ciência da Computação T201
102 Carlos Economia T202
103 Tom Cruise Ciência da Computação T201
104 Aaron Finch Eletrônicos T203
105 Semente Bajoff Webdesign T204
106 Cristóvão Literatura inglesa T205
107 Jeans Designer de moda T206

Tabela 2: Professores

ID do professor Nome do professor E-mail do professor
T201 Sr. [e-mail protegido]
T202 Sra Jonas [e-mail protegido]
T201 Sr. [e-mail protegido]
T204 Sra. López [e-mail protegido]
T205 Sra. Wiley [e-mail protegido]
T206 Sr. Bean [e-mail protegido]

Temos duas tabelas: Alunos e a Professores Tabelas. Vamos escrever as consultas SQL para unir a tabela usando o JUNÇÃO INTERNA do seguinte modo:

 Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID; 

Após executar a consulta, produz a tabela abaixo.

Tipos de SQL JOIN

Associação Natural

É um tipo de tipo interno que une duas ou mais tabelas com base no mesmo nome de coluna e possui o mesmo tipo de dados presente em ambas as tabelas.

Sintaxe:

 Select * from tablename1 Natural JOIN tablename_2; 

Temos duas tabelas: Alunos e a Professores Tabelas. Vamos escrever as consultas SQL para unir a tabela usando o JUNTE-SE Natural do seguinte modo:

 Select * from Students Natural JOIN Teachers; 

Depois de executar a consulta acima, ela produz a tabela a seguir.

Tipos de SQL JOIN

ASSOCIAÇÃO À ESQUERDA

O ASSOCIAÇÃO À ESQUERDA é usado para recuperar todos os registros da tabela esquerda (tabela1) e as linhas ou colunas correspondentes da tabela direita (tabela2). Se ambas as tabelas não contiverem nenhuma linha ou coluna correspondente, ele retornará NULL.

Sintaxe:

 Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Também podemos representar a junção esquerda através do diagrama de Venn, da seguinte forma:

Tipos de SQL JOIN

Nota: Em alguns bancos de dados, LEFT JOIN também é conhecido como LEFT OUTER JOIN.

Tabela 1: Detalhes do Produto

ID do produto Nome do Produto Quantia
Pro101 Computador portátil 56.000
Pro102 Móvel 38.000
Pro103 Fones de ouvido 5.000
Pro104 Televisão 25.000
Pro105 iPad 60.000

Tabela 2: Detalhes_doCliente

atualizando java
Nome do cliente Endereço do cliente Idade do Cliente ID do produto
Martin Guptil São Francisco, EUA 26 Pro101
James Austrália 29 Pro103
Ambati Williamson Nova Zelândia 27 Pro102
Jofra Archer África do Sul 24 Pro105
Kate Wiley Austrália vinte Pro103

Temos duas tabelas: Detalhes do produto e a Detalhes do cliente Tabelas. Vamos escrever as consultas SQL para unir a tabela usando o ASSOCIAÇÃO À ESQUERDA do seguinte modo:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Após executar a consulta, ela produz a seguinte tabela.

Tipos de SQL JOIN

O JUNTE-SE À DIREITA é usado para recuperar todos os registros da tabela direita (tabela2) e as linhas ou colunas correspondentes da tabela esquerda (tabela1). Se ambas as tabelas não contiverem nenhuma linha ou coluna correspondente, ele retornará NULL.

Sintaxe:

 Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Também podemos representar a junção direita através do diagrama de Venn, da seguinte forma:

Tipos de SQL JOIN

Nota: Em alguns bancos de dados, RIGHT JOIN também é conhecido como RIGHT OUTER JOIN.

Tabela 1: Detalhes do Produto

EU IA Nome do Produto Quantia
Pro101 Computador portátil 56.000
Pro102 Móvel 38.000
Pro103 Fones de ouvido 5.000
Pro104 Televisão 25.000
Pro105 iPad 60.000

Tabela 2: Detalhes_doCliente

Nome do cliente Endereço do cliente Idade do cliente ID do produto
Martin Guptil São Francisco, EUA 26 Pro101
James Austrália 29 Pro103
Ambati Williamson Nova Zelândia 27 Pro102
Jofra Archer África do Sul 24 Pro105
Presságio Inglaterra 29 Pro107
Morgan Inglaterra vinte Pro108

Temos duas tabelas: Detalhes do produto e a Detalhes do cliente Tabelas. Vamos escrever as consultas SQL para unir a tabela usando o JUNTE-SE À DIREITA do seguinte modo:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Após executar a consulta, produz a tabela abaixo.

Tipos de SQL JOIN

FULL JOIN ou FULL Outer JOIN:

É um conjunto de resultados combinados de ambos ASSOCIAÇÃO À ESQUERDA e JUNTE-SE À DIREITA . As tabelas unidas retornam todos os registros de ambas as tabelas e se nenhuma correspondência for encontrada na tabela, coloca NULL. Também é chamado de JUNÇÃO EXTERIOR COMPLETA .

Sintaxe:

 Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name; 

Ou, JUNÇÃO EXTERIOR COMPLETA

 Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name; 

Também podemos representar a junção externa completa através do diagrama de Venn, como segue:

Tipos de SQL JOIN

Tabela 1: Detalhes do Produto

EU IA Nome do Produto Quantia
Pro101 Computador portátil 56.000
Pro102 Móvel 38.000
Pro103 Fones de ouvido 5.000
Pro104 Televisão 25.000
Pro105 iPad 60.000

Tabela 2: Detalhes_doCliente

Nome do cliente Endereço do cliente Idade do Cliente ID do produto
Martin Guptil São Francisco, EUA 26 Pro101
James Austrália 29 Pro103
Ambati Williamson Nova Zelândia 27 Pro102
Jofra Archer África do Sul 24 Pro105
Presságio Inglaterra 29 Pro107
Morgan Inglaterra vinte Pro108

Temos duas tabelas: Detalhes do produto e a Detalhes do cliente Tabelas. Vamos escrever as consultas SQL para unir a tabela usando o COMPLETO JUNTE-SE da seguinte forma:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Após executar a consulta, produz a tabela abaixo.

Tipos de SQL JOIN

Nota: MySQL não suporta conceitos FULL JOIN, então podemos usar a cláusula UNION ALL para combinar ambas as tabelas.

Aqui está a sintaxe para UNIÃO TODOS Cláusula para combinar as tabelas.

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID 

Tipos de SQL JOIN

JUNÇÃO CRUZADA

Também é conhecido como JUNÇÃO CARTESIANA , que retorna o produto cartesiano de duas ou mais tabelas unidas. O JUNÇÃO CRUZADA produz uma tabela que mescla cada linha da primeira tabela com cada segunda linha da tabela. Não é necessário incluir nenhuma condição em CROSS JOIN.

Sintaxe:

 Select * from table_1 cross join table_2; 

Ou,

 Select column1, column2, column3 FROM table_1, table_2; 

Tabela 1: Detalhes do Produto

EU IA Nome do Produto Quantia
Pro101 Computador portátil 56.000
Pro102 Móvel 38.000
Pro103 Fones de ouvido 5.000
Pro104 Televisão 25.000
Pro105 iPad 60.000

Tabela 2: Detalhes_doCliente

Nome do cliente Endereço do cliente Idade do Cliente ID do produto
Martin Guptil São Francisco, EUA 26 Pro101
James Austrália 29 Pro103
Ambati Williamson Nova Zelândia 27 Pro102
Jofra Archer África do Sul 24 Pro105
Presságio Inglaterra 29 Pro107
Morgan Inglaterra vinte Pro108

Temos duas tabelas: Detalhes do produto e a Detalhes do cliente Tabelas. Vamos escrever as consultas SQL para unir a tabela usando o COMPLETO JUNTE-SE da seguinte forma:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details; 

Após executar a consulta, produz a tabela abaixo.

Tipos de SQL JOIN

AUTO-INScreva-se

É um SELF JOIN usado para criar uma tabela unindo-se, pois havia duas tabelas. Faz nomeação temporária de pelo menos uma tabela em uma instrução SQL.

Sintaxe:

 Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition; 

tabela 1 e Tbl2 são dois aliases de tabela diferentes para a mesma tabela.

Tabela 1: Detalhes do Produto

EU IA Nome do Produto Quantia
Pro101 Computador portátil 56.000
Pro102 Móvel 38.000
Pro103 Fones de ouvido 5.000
Pro104 Televisão 25.000
Pro105 iPad 60.000

Vamos escrever as consultas SQL para unir a tabela usando o AUTO-INScreva-se do seguinte modo:

quarto trimestre
 Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>