O PostgreSQL LEFT JOIN devolve todas as linhas da tabela do lado esquerdo da união e as linhas correspondentes para a tabela do lado direito da união. As linhas para as quais não há linha correspondente no lado direito, o conjunto de resultados conterá nulo. LEFT JOIN é também conhecido como LEFT OUTER JOIN.
Syntax:SELECT table1.column1, table1.column2, table2.column1, ....FROM table1 LEFT JOIN table2ON table1.matching_column = table2.matching_column;table1: First table.table2: Second tablematching_column: Column common to both the tables.
P>Vamos analisar a sintaxe acima:
- Primeiro, usando a declaração SELECT, especificamos as tabelas de onde queremos que os dados sejam seleccionados.
- Segundo, especificamos a tabela principal.
- Terceiro, especificamos a tabela a que a tabela principal se junta.
O Diagrama Venn abaixo ilustra o funcionamento da cláusula de junção do PostgreSQL à ESQUERDA:
Para o bem deste artigo vamos utilizar a base de dados de exemplo de aluguer de DVDs, que é explicada aqui e pode ser descarregada clicando neste link nos nossos exemplos.
Agora, vamos ver alguns exemplos.
Exemplo 1:
Aqui usaremos a cláusula de “LEFT JOIN” para juntar a tabela “filme” à tabela “inventário”.
SELECT film.film_id, film.title, inventory_idFROM filmLEFT JOIN inventory ON inventory.film_id = film.film_id;
Eliminar:
Exemplo 2:
Aqui usaremos a cláusula LEFT JOIN para juntar a tabela “filme” à tabela “inventário” e usaremos a cláusula WHERE para filtrar os filmes que não estão no fornecimento do inventário.
SELECT film.film_id, film.title, inventory_idFROM filmLEFT JOIN inventory ON inventory.film_id = film.film_idWHERE inventory.film_id IS NULL;
Eliminar: