Resumo :neste tutorial, você aprenderá como usar SQLite
LEFT JOIN cláusula para consultar dados de várias tabelas. Introdução ao SQLite LEFT JOIN cláusula
Semelhante ao
INNER JOIN cláusula, a LEFT JOIN cláusula é uma cláusula opcional do SELECT demonstração. Você usa o LEFT JOIN cláusula para consultar dados de várias tabelas relacionadas. Suponha que temos duas tabelas:A e B.
- A tem colunas m e f.
- B tem colunas n e f.
Para realizar a junção entre A e B usando
LEFT JOIN cláusula, você usa a seguinte declaração:SELECT
a,
b
FROM
A
LEFT JOIN B ON A.f = B.f
WHERE search_condition;Code language: SQL (Structured Query Language) (sql) A expressão
A.f = B.f é uma expressão condicional. Além do operador de igualdade (=), você pode usar outros operadores de comparação, como maior que (>), menor que (<), etc. A instrução retorna um conjunto de resultados que inclui:
- Linhas na tabela A (tabela esquerda) que têm linhas correspondentes na tabela B.
- Linhas na tabela A e as linhas na tabela B preenchidas com
NULLvalores caso a linha da tabela A não tenha nenhuma linha correspondente na tabela B.
Em outras palavras, todas as linhas da tabela A são incluídas no conjunto de resultados, independentemente de haver linhas correspondentes na tabela B ou não.
Caso você tenha um
WHERE cláusula na instrução, a search_condition no WHERE A cláusula é aplicada após a correspondência do LEFT JOIN cláusula completa. Veja a ilustração a seguir do
LEFT JOIN cláusula entre as tabelas A e B.
Todas as linhas da tabela A são incluídas no conjunto de resultados.
Porque a segunda linha
(a2,2) não tem uma linha correspondente na tabela B, o LEFT JOIN cláusula cria uma linha falsa preenchido com NULL . O diagrama de Venn a seguir ilustra o
LEFT JOIN cláusula.
Note-se que
LEFT OUTER JOIN é o mesmo que LEFT JOIN . SQLite LEFT JOIN exemplos
Usaremos os
artists e albums tabelas no banco de dados de exemplo para demonstração.
Um álbum pertence a um artista. No entanto, um artista pode ter zero ou mais álbuns.
Para encontrar artistas que não têm nenhum álbum usando o
LEFT JOIN cláusula, selecionamos artistas e seus álbuns correspondentes. Se um artista não tiver nenhum álbum, o valor do AlbumId coluna é NULL. Para exibir os artistas que não têm nenhum álbum primeiro, temos duas opções:
- Primeiro, use
ORDER BYcláusula para listar as linhas cujoAlbumIdéNULLvalores primeiro. - Segundo, use
WHEREcláusula eIS NULLoperador para listar apenas artistas que não têm nenhum álbum.
A instrução a seguir usa o
LEFT JOIN cláusula com o ORDER BY cláusula. SELECT
artists.ArtistId,
AlbumId
FROM
artists
LEFT JOIN albums ON
albums.ArtistId = artists.ArtistId
ORDER BY
AlbumId;Code language: SQL (Structured Query Language) (sql) Tente
A instrução a seguir usa o
LEFT JOIN cláusula com o WHERE cláusula. SELECT
artists.ArtistId
, AlbumId
FROM
artists
LEFT JOIN albums ON
albums.ArtistId = artists.ArtistId
WHERE
AlbumId IS NULL;Code language: SQL (Structured Query Language) (sql) Tente
Neste tutorial, você aprendeu como usar SQLite
LEFT JOIN cláusula para consultar dados de várias tabelas.