Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
INNER JOIN / JIN
- formato comum de join
- retorna dados apenas quando as duas tabelas tem chaves correspondentes (IGUAIS) na cláusula ON do join.
----------------
TABELA_A
----------------
NOME | CHAVE
JOSE | 1
MARIA | 3
RENATA | 4
ROBERTO | 8
----------------
TABELA_B
----------------
PROFISSAO | CHAVE
ESTIVADOR | 1
GERENTE | 3
PORTEIRO | 5
ENGENHEIRO | 8
Query:
SELECT TabelaA.*, TabelaB.*
FROM TabelaA
INNER JOIN TabelaB
ON TabelaA.Chave = TabelaB.Chave
Resultado:
TABELA_A.nome | TABELA_A.chave | TABELA_B.profissao | TABELA_A.chave |
-------------------------------------------------------------------------
JOSE | 1 | ESTIVADOR | 1 |
MARIA | 3 | GERENTE | 3 |
ROBERTO | 8 | ENGENHEIRO | 8 |
Left Join
- um dos formatos mais usados de join
- retorna a Tabela A inteira + apenas os registros que coincidirem com a igualdade do join na TabelaB (ou campos nulos para os campos sem correspondência).
Query:
SELECT TabelaA.*, TabelaB.*
FROM TabelaA
LEFT JOIN TabelaB
ON TabelaA.Chave = TabelaB.Chave
Resultado:
TABELA_A.nome | TABELA_A.chave | TABELA_B.profissao | TABELA_A.chave |
-------------------------------------------------------------------------
JOSE | 1 | ESTIVADOR | 1 |
MARIA | 3 | GERENTE | 3 |
RENATA | 4 | NULL | NULL |
ROBERTO | 8 | ENGENHEIRO | 8 |
Right Join
- Segue o mesmo raciocínio do Left Join, mas se aplicando à tabela B em vez da A:
SELECT TabelaA.*, TabelaB.*
FROM TabelaA
RIGHT JOIN TabelaB
ON TabelaA.Chave = TabelaB.Chave
Resultado:
TABELA_A.nome | TABELA_A.chave | TABELA_B.profissao | TABELA_A.chave |
-------------------------------------------------------------------------
JOSE | 1 | ESTIVADOR | 1 |
MARIA | 3 | GERENTE | 3 |
NULL | NULL | Porteiro | 5 |
ROBERTO | 8 | ENGENHEIRO | 8 |
https://pt.stackoverflow.com/questions/6441/qual-é-a-diferença-entre-inner-join-e-outer-join
Add Comment
Please, Sign In to add comment