Resumo :neste tutorial, você aprenderá como usar o SQLite
IN operador para determinar se um valor corresponde a qualquer valor em uma lista de valores ou um resultado de uma subconsulta. Introdução ao SQLite IN operador
O SQLite
IN O operador determina se um valor corresponde a qualquer valor em uma lista ou subconsulta. A sintaxe do IN operador é o seguinte:expression [NOT] IN (value_list|subquery);Code language: SQL (Structured Query Language) (sql) A
expression pode ser qualquer expressão válida ou uma coluna de uma tabela. Uma lista de valores é uma lista de valores fixos ou um conjunto de resultados de uma única coluna retornada por uma subconsulta. O tipo de expressão e os valores retornados na lista devem ser os mesmos.
O
IN O operador retorna verdadeiro ou falso dependendo se a expressão corresponde a qualquer valor em uma lista de valores ou não. Para negar a lista de valores, você usa o NOT IN operador. SQLite IN exemplos de operadores
Usaremos as
Tracks tabela do banco de dados de exemplo para a demonstração.
A instrução a seguir usa o
IN operador para consultar as faixas cujo id de tipo de mídia é 1 ou 2. SELECT
TrackId,
Name,
Mediatypeid
FROM
Tracks
WHERE
MediaTypeId IN (1, 2)
ORDER BY
Name ASC;Code language: SQL (Structured Query Language) (sql) Tente
Esta consulta usa o
OR operador em vez do IN operador para retornar o mesmo conjunto de resultados da consulta acima:SELECT
TrackId,
Name,
MediaTypeId
FROM
Tracks
WHERE
MediaTypeId = 1 OR MediaTypeId = 2
ORDER BY
Name ASC;Code language: SQL (Structured Query Language) (sql) Tente
Como você pode ver nas consultas, usando o
IN operador é muito mais curto. Se você tiver uma consulta que usa muitos
OR operadores, você pode considerar usar o IN em vez disso, para tornar a consulta mais legível. SQLite IN operador com um exemplo de subconsulta
A consulta a seguir retorna uma lista de ID de álbum do ID de artista 12:
SELECT albumid
FROM albums
WHERE artistid = 12;Code language: SQL (Structured Query Language) (sql) Tente
Para obter as faixas que pertencem ao ID do artista 12, você pode combinar o
IN operador com uma subconsulta da seguinte forma:SELECT
TrackId,
Name,
AlbumId
FROM
Tracks
WHERE
AlbumId IN (
SELECT
AlbumId
FROM
Albums
WHERE
ArtistId = 12
);Code language: SQL (Structured Query Language) (sql) Tente
Neste exemplo:
- Primeiro, a subconsulta retorna uma lista de IDs de álbuns que pertencem ao ID de artista 12.
- Em seguida, a consulta externa retorna todas as faixas cujo ID do álbum corresponde à lista de IDs do álbum retornada pela subconsulta.
Exemplos de SQLite NOT IN
A instrução a seguir retorna uma lista de faixas cujo id de gênero não está em uma lista de (1,2,3).
SELECT
trackid,
name,
genreid
FROM
tracks
WHERE
genreid NOT IN (1, 2,3);Code language: SQL (Structured Query Language) (sql) Tente
Neste tutorial, você aprendeu como usar o SQLite
IN operador para corresponder um valor com uma lista de valores ou uma subconsulta.