(INNER) JOIN: Retorna registros que possuem valores correspondentes nas duas tabelas.
JUNTA ESQUERDA (EXTERIOR): Retorna todos os registros da tabela esquerda e os registros correspondentes da tabela direita.
JUNTA DIREITA (EXTERIOR): Retorna todos os registros da tabela da direita e os registros correspondentes da tabela da esquerda.
JUNÇÃO COMPLETA (EXTERIOR): Retorna todos os registros quando houver uma correspondência na tabela esquerda ou direita
Por exemplo, vamos supor que temos duas tabelas com os seguintes registros:
Quadro A
id firstname lastname
___________________________
1 Ram Thapa
2 sam Koirala
3 abc xyz
6 sruthy abc
Quadro B
id2 place
_____________
1 Nepal
2 USA
3 Lumbini
5 Kathmandu
Junção interna
Nota: Fornece a interseção de duas tabelas.
Sintaxe
SELECT column_name FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Aplique-o na sua tabela de amostra:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA INNER JOIN TableB ON TableA.id = TableB.id2;
O resultado será:
firstName lastName Place
_____________________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Associação à esquerda
Nota: fornecerá todas as linhas selecionadas na Tabela A, além de quaisquer linhas selecionadas comuns na Tabela B.
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Aplique-o na sua tabela de amostra
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA LEFT JOIN TableB ON TableA.id = TableB.id2;
O resultado será:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Right Join
Nota: fornecerá todas as linhas selecionadas na Tabela B, além de quaisquer linhas selecionadas comuns na Tabela A.
Sintaxe:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Aplique-o na sua tabela de samole:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA RIGHT JOIN TableB ON TableA.id = TableB.id2;
O resultado será:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Null Null Kathmandu
Junção completa
Nota: É igual à operação de união, retornará todos os valores selecionados das duas tabelas.
Sintaxe:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Aplique no seu samp [le table:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA FULL JOIN TableB ON TableA.id = TableB.id2;
O resultado será:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Null Null Kathmandu
Alguns fatos
Para INNER ingressa no pedido, não importa
Para uniões EXTERIOR (ESQUERDA, DIREITA ou CHEIA), a ordem é importante
Encontre mais em w3schools
RIGHT JOIN
se podemos alcançar qualquer resultado desejado com apenasLEFT JOIN
? : P