Junções (JOIN) na Linguagem SQL para o ISS-RJ
Confira neste artigo uma análise sobre as Junções (JOIN), na Linguagem SQL, para o concurso do ISS-RJ.
Olá, pessoal! Tudo bem com vocês?
O edital do concurso de Fiscal de Rendas do ISS-RJ foi publicado. Como está a sua preparação? Esperamos que ela esteja a todo vapor.
Desse modo, com o intuito de ajudá-los na preparação para este certame, vamos aprender sobre as Junções (JOIN), na Linguagem SQL, para o ISS-RJ.
Sem mais delongas, vamos ao que interessa!
As junções (JOIN) na Linguagem SQL
Na Linguagem SQL, as junções são utilizadas para combinar duas ou mais tabelas.
Tal procedimento é operacionalizado pelo comando JOIN. Há algumas variações para este comando, como o INNER JOIN, LEFT JOIN, RIGHT JOIN e o FULL OUTER JOIN.
INNER JOIN
O INNER JOIN, também conhecido como apenas JOIN, ao ser utilizado, retorna os valores coincidentes nas tabelas selecionadas. Em outras palavras, ele retorna a intersecção entre elas. A sintaxe para o seu uso é:
- SELECT colunas
- FROM tabela1
- JOIN tabela2 ON tabela1.coluna = tabela2.coluna
A SABER: No caso de as colunas das tabelas analisadas possuírem os mesmos nomes, a seguinte fórmula pode ser utilizada, em substituição à última linha da sintaxe citada acima:
- SELECT colunas
- FROM tabela1
- INNER JOIN tabela2 USING (coluna);
Nada melhor do que um exemplo para entendermos melhor, não é mesmo?
Vamos supor as seguintes tabelas:
Tabela 1: Professor | |
codigo_professor | nome_professor |
12 | João |
23 | Maria |
34 | Fernando |
45 | José |
56 | Aline |
67 | Marta |
Tabela 2: Disciplina | |
codigo_professor | disciplina_ministrada |
12 | Português |
23 | Matemática |
34 | Geografia |
45 | História |
56 | Física |
78 | Glória |
Por meio do uso do JOIN, é possível criar uma nova tabela, da junção entre os códigos dos professores, seus nomes, e as disciplinas que são ministradas por cada um deles. Tal recurso será possível graças ao “código_professor”, que são registros que estão presentes nas duas planilhas, e são únicos para cada professor. Para isso, podemos utilizar a seguinte fórmula:
- SELECT *
- FROM Professor
- JOIN Disciplina ON professor.codigo_professor = disciplina.codigo_professor
Assim, as duas tabelas serão combinadas, formando uma única tabela:
codigo_professor | nome_professor | codigo_professor | disciplina_ministrada |
12 | João | 12 | Português |
23 | Maria | 23 | Matemática |
34 | Fernando | 34 | Geografia |
45 | José | 45 | História |
56 | Aline | 56 | Física |
Veja que os códigos 67 e 78 não aparecem na tabela resultado, já que elas possuem correspondentes em apenas uma tabela.
LEFT JOIN
O LEFT JOIN é uma variação do comando estudado acima.
Quando utilizado, ele irá retornar todos os elementos da tabela da esquerda, bem como aqueles da tabela da direita que possuem correspondência.
Dessa maneira, caso haja algum registro da tabela da esquerda sem correspondência com a da direita, será apresentado o valor NULL.
Observe abaixo um exemplo similar ao de cima, mas utilizando o comando LEFT JOIN:
- SELECT *
- FROM Professor
- LEFT JOIN Disciplina ON professor.codigo_professor = disciplina.codigo_professor
Assim, será retornado o seguinte resultado:
codigo_professor | nome_professor | codigo_professor | disciplina_ministrada |
12 | João | 12 | Português |
23 | Maria | 23 | Matemática |
34 | Fernando | 34 | Geografia |
45 | José | 45 | História |
56 | Aline | 56 | Física |
67 | Marta | NULL | NULL |
Assim, diferentemente do comando INNER JOIN, com o LEFT JOIN, todos os elementos da tabela da esquerda foram exibidos. Contudo, o professor 67 não possui correspondência com a tabela da direita, sendo os seus campos preenchidos com NULL.
RIGHT JOIN
O RIGHT JOIN é similar ao LEFT JOIN, todavia, será a tabela da direita, e não da esquerda, que terá todos os seus elementos exibidos. Já a tabela da esquerda terá exibido apenas aqueles que possuírem correspondência com os elementos da tabela da direita.
Assim, se houver algum registro da tabela da direita sem correspondência com a da esquerda, o valor NULL será apresentado.
Observe abaixo um exemplo similar ao de cima, mas agora utilizando o RIGHT JOIN:
- SELECT *
- FROM Professor
- RIGHT JOIN Disciplina ON professor.codigo_professor = disciplina.codigo_professor
O seguinte resultado irá aparecer:
codigo_professor | nome_professor | codigo_professor | disciplina_ministrada |
12 | João | 12 | Português |
23 | Maria | 23 | Matemática |
34 | Fernando | 34 | Geografia |
45 | José | 45 | História |
56 | Aline | 56 | Física |
NULL | NULL | 78 | Glória |
Como o professor 78 não possui correspondência com a tabela da esquerda, os campos são preenchidos com a palavra NULL.
FULL OUTER JOIN
Por fim, este comando é a junção do LEFT e do RIGHT, uma vez que ele retorna a junção de todos os valores das duas tabelas, relacionando os relacionáveis e deixando com valor NULL aqueles campos que não possuem relação.
Podemos utilizá-la da seguinte forma:
- SELECT *
- FROM Professor
- FULL OUTER JOIN Disciplina ON professor.codigo_professor = disciplina.codigo_professor
Chegaremos ao seguinte resultado:
codigo_professor | nome_professor | codigo_professor | disciplina_ministrada |
12 | João | 12 | Português |
23 | Maria | 23 | Matemática |
34 | Fernando | 34 | Geografia |
45 | José | 45 | História |
56 | Aline | 56 | Física |
67 | Marta | NULL | NULL |
NULL | NULL | 78 | Glória |
Finalizando – Junções (JOIN) na Linguagem SQL
Bom, pessoal! Chegamos ao fim do nosso artigo sobre as Junções (JOIN), na Linguagem SQL, para o ISS-RJ.
Caso queira se preparar para chegar competitivo nesta prova, invista nos cursos para o ISS RJ do Estratégia Concursos. Lá você encontrará aulas completas e detalhadas, com os melhores professores do mercado.
Conheça também o Sistema de Questões do Estratégia. Afinal, a única maneira de consolidar o conteúdo de maneira satisfatória é através da resolução de questões. Lá você encontrará centenas de questões da Linguagem SQL, para o seu concurso.
Bons estudos e até a próxima.
Cursos e Assinaturas
Prepare-se com o melhor material e com quem mais aprova em Concursos Públicos em todo o país!