1 - CONCEITO:
A
cláusula JOIN é usada para combinar dados comuns de duas ou mais
tabelas do banco de dados, baseado em um relacionamento entre colunas
destas tabelas. Vamos abordar duas maneiras de utilização da
cláusula JOIN, são elas: RIGHT JOIN, LEFT JOIN e INNER JOIN.
Nessa
imagem, temos a representação de duas tabelas (A e B) e o resultado
esperado por cada tipo de join:
Figura
1 - Representação gráfica .Figura 2 -
Representação gráfica. Figura 3 - Representação
gráfica do INNER JOIN.
do LEFT JOIN.
do RIGHT JOIN.
O
INNER JOIN, funcionamento ilustrado na Figura 1, é retornado
os registros que são comuns na tabela A e tabela B;
O
LEFT JOIN, funcionamento ilustrado na Figura 2, obtém-se os
registros que estão na tabela A (mesmo que não estejam na tabela B)
e os registros da tabela B que são comuns à tabela A.
O RIGHT JOIN, funcionamento ilustrado na Figura 3, acontece o inverso da utilização do LEFT JOIN, é retornado os registros que estão na tabela B (mesmo que não estejam na tabela A) e os registros da tabela A que são comuns à tabela B.
2
- SINTAXE:
RIGHT
JOIN:
SELECT
tabelaA.colula_da_tabelaA, tabelaB.coluna_da_tabelaB FROM tabelaA
RIGHT JOIN tabelaB on tabelaA.coluna_de_comparacaoA =
tabelaB.coluna_de_comparacaoB;
LEFT
JOIN:
SELECT
tabelaA.colula_da_tabelaA, tabelaB.coluna_da_tabelaB FROM tabelaA
LEFT JOIN tabelaB on tabelaA.coluna_de_comparacaoA =
tabelaB.coluna_de_comparacaoB;
INNER
JOIN:
SELECT
tabelaA.colula_da_tabelaA, tabelaB.coluna_da_tabelaB FROM tabelaA
INNER JOIN tabelaB on tabelaA.coluna_de_comparacaoA =
tabelaB.coluna_de_comparacaoB;
3
- PRÁTICA:
Vamos
a prática do INNER JOIN, LEFT JOIN e RIGHT JOIN com duas tabelas que
contém alguns dados iguais.
Figura
4 - Criação da tabela SetorA e SetorB.
A
Figura 4 apresenta a composição de colunas e tipo de valores
que serão aplicadas em ambas as tabelas.
Figura
5 - Inserção de valores nas tabelas.
A
Figura 5 demonstra a inserção de valores nas colunas das
tabelas SetorA e SetorB, além da verificação que os dados foram
inseridos e estão corretos.
Figura
6 - Verificar a tabela SetorA
Figura
7 - Verificar a tabela SetorB
Figura
8 - Execução do INNER JOIN
A
Figura 8 apresenta o comando INNER JOIN para buscar as pessoas
entre as duas tabelas que apresentam a mesma cidade natal. O
resultado foi somente que duas pessoas se encaixam no comando.
Figura
9 - Execução do LEFT JOIN
A
Figura 9 apresenta o comando LEFT JOIN para buscar as pessoas
das duas tabelas que tenham a mesma idade. O resultado é a
apresentação da tabela SetorA completa mais os resultados em comum
com a tabela SetorB.
Figura
10 - Execução do RIGHT JOIN
A
Figura 10 apresenta o comando RIGHT JOIN para buscar as
pessoas das duas tabelas que tenham a mesma idade. O resultado é o
inverso a da Figura 9, pois ele apresenta a tabela SetorB
completa mais os resultados em comum com a tabela SetorA.
Obs¹:
A prática é feita com MySQL;
Obs²:
A comparação feita na sintaxe é de acordo com a sua necessidade,
então pode ser alterada.
Texto por: Isabelle Coimbra, Samilly Beatriz e Arthur Abreu. | |Revisado e corrigido por Octávio Jorge e Eduarda Morais.
This comment has been removed by a blog administrator.
ReplyDelete