LEFT (OUTER) JOIN:

O LEFT JOIN permite relacionar duas tabelas (Tabela A e Tabela B) e criar uma nova tabela (Tabela C), que é a junção das duas.

A tabela resultante desse JOIN terá todas as linhas exclusivas da Tabela A, além das linhas que estão na interseção entre a Tabela A e a Tabela B. Nenhuma linha presente apenas na Tabela B será incluída na tabela resultante.

image.png

Na consulta abaixo, realizamos um LEFT JOIN.

Utilizamos um SELECT comum para escolher as colunas desejadas. Um detalhe importante é que, quando selecionamos uma coluna que é comum às duas tabelas (no caso, a coluna id_subcategoria), precisamos especificar de qual tabela essa coluna será considerada.

Em relação à estrutura do JOIN, temos sempre o seguinte padrão: uma igualdade, em que do lado esquerdo informamos a chave estrangeira da relação e, do lado direito, informamos a chave primária que estabelece o relacionamento entre as tabelas.

Por fim, repare que a tabela resultante contém um produto que existe apenas na tabela Produto, o PS4.

image.png

RIGHT (OUTER) JOIN:

O RIGHT JOIN permite relacionar duas tabelas (Tabela A e Tabela B) e criar uma nova tabela (Tabela C), que é a junção das duas.

A tabela resultante desse JOIN terá todas as linhas exclusivas da Tabela B, além das linhas que estão na interseção entre a Tabela A e a Tabela B. Nenhuma linha presente apenas na Tabela A será incluída na tabela resultante desse JOIN.

image.png

Na consulta abaixo, realizamos um RIGHT JOIN.

A estrutura é muito semelhante ao LEFT JOIN, alterando apenas o LEFT por RIGHT.

O resultado final é uma tabela que também contém as subcategorias que existem apenas na tabela da direita, como Câmera Digital e Televisão.

image.png

INNER (OUTER) JOIN