Respostas
Inner joins combine records from two tables whenever there are matching values in a field common to both tables. You can use INNER JOIN with the Departments and Employees tables to select all the employees in each department. ... For example, you can join on AutoNumber and Long fields because they are like types.
Hilquias, primeiramente o Inner Join é o mesmo que somente Join, ou seja, se você escrever:
SELECT * FROM TABELA_1 INNER JOIN ....
e
SELECT * FROM TABELA_1 JOIN ....
será a mesma coisa.
A explicação geral do Join é:
Inner Join: irá buscar os registros iguais em um relacionamento e/ou condições pré-definidas, exemplo:
select *
from tabela_1
inner join tabela_2 on tabela_1.campo_1 = tabela_2.campo_2
no exemplo acima o banco de dados irá mostrar todos os registros que estão na tabela_1 e na tabela_2 e que os valores do campo da tabela_1.campo_1 sejam iguais aos valores do campo da tabela_2.campo_2
Temos ainda outros tipos de join´s: left outer join (left join), right outer join (right join), full outer join (full join).
left outer join trará todos os valores são na mesma condição do join (ou inner join), porém também irá buscar os valores do campo_2 que estão vazios da tabela definida no left join, neste caso a tabela_2.
right outer join (right join) é ao contrário do left join, irá trazer no exemplo acima os valores do campo_1 que estão nulos na tabela da direita, neste caso da tabela_1. Também fará a relação igual ao inner join.
full outer join (full join) é a junção do inner join, left outer join e right outer join. No caso acima: irá buscar o relacionamento entre a tabela_1 e tabela_2, valores nulos do campo_2 da tabela_2 e valores nulos do campo_1 da tabela_1.
Sei que é um pouco confuso de entender de primeira, mas o interessante é realizar um teste criando uma estrutura pré-definida no banco de dados com os valores e então realizar os select's entre eles com todos os exemplos, assim você entenderá mais facilmente.
Também acrescento ainda que existem outros tipos de join´s que podem ser usados e variam de banco para banco de dados. Um deles é o natural join do Oracle onde tenho um artigo publicado sobre o assunto, segue o link: https://www.passeidireto.com/arquivo/94359595/natural-join
Estarei a disposição!!!
Responda
Para escrever sua resposta aqui, entre ou crie uma conta