Lições de PHP - Lição 3.6 - Trabalhando com Banco de Dados MySQL. Tipos de Operador JOIN.
No MySQL, a seleção usando JOIN pode ser feita de várias maneiras. Tentaremos considerar todos esses tipos de consultas. Aqui está uma lista de todas as consultas envolvendo JOIN:
- INNER JOIN
- LEFT JOIN
- LEFT JOIN sem interseções com a tabela certa
- RIGHT JOIN
- RIGHT JOIN sem interseções com a tabela esquerda
- FULL OUTER
- FULL OUTER onde a tabela esquerda ou direita está vazia
E aqui está uma ilustração para esses tipos de JOIN:

Anexarei à postagem os arquivos do nosso site, incluindo join.php em que exibirei todos os registros usando diferentes operadores JOIN.
INNER JOIN
Começamos com esse operador INNER JOIN porque esse operador é acionado por padrão se você escrever apenas JOIN na consulta. Este operador seleciona todos os registros de duas tabelas onde a condição seguinte ao operador ON é atendida. Temos duas tabelas Arquivos e Mensagens:
Tabela Mensagens:
[TABELA]Tabela Arquivos:
[TABELA]A consulta com JOIN será a seguinte:
SELECT * FROM Messages INNER JOIN Files ON Messages.fid=Files.fid
Como resultado, os seguintes registros serão exibidos
[TABELA]Ou seja, onde fid coincide, o mysql exibirá essas linhas.
LEFT JOIN
Com LEFT JOIN, exibimos todos os registros nos quais a tabela à esquerda (para nós, Mensagens), incluindo aqueles registros em que esses valores de fid estão na tabela Arquivos.
[CONTEÚDO TÉCNICO COMPLETO] Incluindo todos os tipos de JOIN, suas tabelas de exemplo, consultas SQL e resultados.