Cláusula SQL WHERE IN

Clausula Sql Where In



No SQL, podemos usar a cláusula WHERE IN para filtrar os resultados em um determinado banco de dados. A cláusula WHERE IN nos permite selecionar as linhas de um determinado banco de dados que correspondem a um ou mais valores especificados de uma determinada lista.

Neste tutorial, exploraremos a cláusula WHERE IN para descobrir como podemos usá-la para filtrar os resultados de uma determinada tabela ou conjunto de resultados.

Cláusula SQL WHERE IN

O seguinte mostra a sintaxe básica da cláusula WHERE IN em SQL:







SELECIONE coluna1, coluna2, ...
DE nome_tabela
WHERE nome_coluna IN (valor1, valor2, ...);

Começamos com uma instrução básica “select” seguida pelas colunas que desejamos incluir no conjunto de resultados.



A seguir, especificamos a tabela da qual desejamos recuperar os resultados. Por último, especificamos a condição de filtro usando a cláusula WHERE seguida do nome da coluna que desejamos filtrar. Após a cláusula IN, especificamos uma lista de valores que queremos usar para filtragem.



Exemplo 1: Filtrar um único resultado

Para demonstrar melhor como usar a cláusula WHERE IN, vejamos um exemplo. Considere a tabela “filme” do banco de dados de amostra Sakila.





Suponha que desejamos recuperar todos os filmes com classificação PG ou PG-13. Podemos usar a cláusula WHERE IN da seguinte forma:

SELECIONE título, ano de lançamento, classificação
DO filme
ONDE classificação IN ('PG');

Neste caso, fornecemos uma lista de um único valor que desejamos recuperar na cláusula IN.



Exemplo 2: Filtrar vários valores

Também podemos especificar mais de um item na lista de valores. Por exemplo, para recuperar os filmes com uma lista com classificação PG e PG-13, podemos executar a consulta da seguinte forma:

SELECIONE título, ano de lançamento, classificação
DO filme
Classificação WHERE IN ('PG', 'PG-13');

A saída resultante é a seguinte:

Exemplo 3: Filtro com Subconsulta

Também podemos usar WHERE IN em uma subconsulta que nos permite filtrar os resultados de um determinado conjunto de resultados.

Suponha que desejemos filtrar os filmes com base no idioma. Por exemplo, para recuperar os filmes nos idiomas inglês e japonês, podemos usar WHERE IN dentro de uma subconsulta da seguinte forma:

SELECIONE título, ano de lançamento, classificação
DO filme f
ONDE idioma_id IN (
SELECIONE idioma_id
DE idioma
WHERE nome IN ('Inglês', 'Japonês')
);

Neste exemplo, criamos uma subconsulta que recupera os valores “idioma_id” para os idiomas inglês e japonês da tabela “idiomas”. Na consulta principal, selecionamos os filmes com base nos valores “idioma_id” resultantes.

Conclusão

Nesta postagem, aprendemos como trabalhar com a cláusula WHERE IN em SQL para filtrar os resultados que correspondem a um ou vários valores em uma determinada lista.