SQL WHERE IN – explicado com exemplos

Você está cansado de filtrar dados manualmente em seu banco de dados e procura uma maneira mais eficiente de filtrar dados com vários valores? SQL WHERE IN pode ser a solução que você precisa!

Se você estiver trabalhando com bancos de dados SQL, provavelmente já se deparou com o operador WHERE IN. Este operador é usado para especificar vários valores em uma cláusula WHERE, permitindo que você filtre seus dados com mais precisão.

Com esse operador, você pode especificar uma lista de valores para corresponder a uma coluna em sua tabela. Essa lista pode ser codificada ou gerada por uma subconsulta, oferecendo muita flexibilidade na forma como você filtra seus dados.

SQL WHERE IN – explicado com exemplos

Por exemplo, você pode usar o operador IN para encontrar todos os clientes de uma lista específica de cidades ou para filtrar os resultados com base em um conjunto de IDs de produtos.

Um dos benefícios de usar o operador WHERE IN é que ele pode tornar suas consultas mais eficientes. Usando uma lista de valores em vez de várias condições OR, você pode reduzir a quantidade de processamento que precisa ser feito pelo banco de dados.

Isso pode ser especialmente importante ao trabalhar com grandes conjuntos de dados ou consultas complexas, onde até mesmo pequenas otimizações podem fazer uma grande diferença no desempenho.

Índice

O que é a cláusula SQL WHERE IN?

A cláusula SQL WHERE IN é usada para filtrar dados com base em uma lista de valores. Ele permite que você especifique vários valores em uma cláusula WHERE usando uma abreviação para várias condições OR. A sintaxe da cláusula WHERE IN para SQL Server , PostgreSQL, MYSQL e Oracle é a seguinte:

SELECT column_name(s) 
FROM table_name 
WHERE column_name IN (value1, value2, ...); 

Se considerarmos a instrução SELECT acima, a cláusula WHERE IN permite recuperar dados de uma tabela onde a coluna especificada corresponde a qualquer um dos valores da lista. É uma sintaxe útil para filtrar dados quando você tem um conjunto específico de valores para pesquisar.

Como funciona a cláusula SQL WHERE IN?

A cláusula funciona comparando a coluna especificada com cada valor na lista. Se a coluna corresponder a qualquer um dos valores da lista, a linha será incluída no conjunto de resultados.

Digamos que você tenha uma tabela chamada “clientes” que consiste em três colunas: “customer_id”, “customer_name” e “country”. Você deseja recuperar todos os clientes dos EUA, Canadá e México. A consulta a seguir mostrará como a cláusula WHERE IN é usada: SELECT customer_id, customer_name, country FROM customers WHERE country IN ('EUA','Canadá','México');

Exemplos de cláusula SQL WHERE IN

Se você deseja filtrar os resultados com base em uma lista de valores possíveis, pode usar a cláusula SQL WHERE IN. Esta cláusula fornece uma maneira fácil de selecionar linhas onde uma determinada coluna corresponde a um de um conjunto de valores.

Aqui estão cinco exemplos de como a cláusula pode ser usada:

  1. Usando a cláusula SQL WHERE IN com um único valor

Digamos que você queira selecionar todas as linhas em uma tabela em que a coluna de status está definida como “publicada”. Você pode fazer isso usando a seguinte instrução SQL:

SELECT * 
FROM my_table 
WHERE status IN ('published');

Isso retornará todas as linhas em que a coluna de status está definida como "publicada".

  1. Usando a cláusula SQL WHERE IN com vários valores

Agora, digamos que você queira selecionar todas as linhas em que a coluna de status está definida como “publicado” ou “rascunho”. Você pode usar a seguinte instrução SQL:

SELECT * 
FROM my_table 
WHERE status IN ('published', 'draft');

Isso retornará todas as linhas em que a coluna de status está definida como “publicado” ou “rascunho”. Além disso, você pode adicionar quantos valores quiser, separados por vírgulas.

  1. Usando a cláusula SQL WHERE IN com instrução Delete

Suponha que você tenha uma tabela chamada “clientes” com os seguintes dados:

SQL WHERE IN – explicado com exemplos

Para excluir linhas desta tabela com base em vários valores na coluna “City”, a cláusula SQL WHERE IN pode ser usada com uma instrução DELETE, conforme mostrado na seguinte consulta:

DELETE FROM customers
WHERE City IN ('New York', 'Chicago', 'Miami');

Esta instrução excluirá todas as linhas da tabela “clientes” onde os nomes das colunas “Cidade” correspondem a qualquer um dos valores da lista, ou seja, 'Nova York', 'Chicago', 'Miami'. No exemplo acima, ele excluirá a primeira, terceira e quinta linhas da tabela.

Observe que, ao usar a cláusula WHERE IN com uma instrução DELETE, você deve ter muito cuidado para evitar erros, certificando-se de excluir os dados corretos. É melhor testar sua consulta em um pequeno subconjunto de dados antes de executá-la em todo o banco de dados.

  1. Usando o operador WHERE IN e a cláusula SQL WHERE para filtrar dados com base em valores numéricos

SELECT *
FROM customers
WHERE age IN (25, 30, 35)
AND city = 'London';

Esta consulta retornará todas as linhas da tabela “customers” onde a coluna age contém os valores numéricos 25, 30 ou 35, e a coluna city contém o valor “London”.

Observe que o operador WHERE IN é um operador lógico que permite especificar apenas vários valores para uma única coluna. A instrução SELECT é usada para recuperar dados de uma tabela e a cláusula WHERE é usada para filtrar os dados com base em condições específicas.

Neste exemplo, a consulta retorna linhas da tabela “customers” onde a coluna age corresponde a um dos valores numéricos especificados e a coluna city corresponde ao valor “London”. Os nomes das colunas usadas nesta consulta são “idade” e “cidade” e a tabela que está sendo consultada é “clientes”.

  1. Usando WHERE IN com a instrução SELECT e o operador IN.

SELECT *
FROM orders
WHERE customer_id IN (
    SELECT customer_id
    FROM customers
    WHERE country = 'USA'
);

Neste exemplo, estamos usando uma subconsulta para recuperar todos os IDs de clientes da tabela “clientes” onde a coluna do país contém o valor “EUA”. Em seguida, estamos usando o operador WHERE IN para filtrar a tabela "pedidos" com base nesses IDs de cliente.

Esta consulta retornará todas as linhas da tabela orders onde a coluna customer_id corresponde a um dos IDs de cliente retornados pela subconsulta.

Lembre-se, o operador WHERE IN é um operador de comparação que permite comparar uma coluna com uma lista de valores. Nesse caso, estamos comparando a coluna customer_id com uma lista de IDs de clientes retornada pela subconsulta.

Ao usar esse operador e uma subconsulta, você pode filtrar os dados com base em critérios específicos e recuperar apenas os dados que atendem às suas necessidades.

2 Principais benefícios do uso da cláusula SQL WHERE IN?

  1. Desempenho de consulta aprimorado

A cláusula oferece um dos maiores benefícios em termos de desempenho de consulta. Ao filtrar dados com base em vários valores, usar a cláusula pode ser muito mais eficiente e rápido do que escrever várias cláusulas WHERE com operadores OR. Isso ocorre porque o mecanismo de banco de dados pode otimizar o plano de execução da consulta para recuperar com eficiência os dados necessários.

Por exemplo, considere as seguintes consultas SQL com a tabela “clientes”, onde estamos tentando identificar os detalhes do cliente com base em seus países.

SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers WHERE country='USA' 
			OR country='Canada' 
			OR country='Mexico' ;

SQL WHERE IN – explicado com exemplos

 SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers 
WHERE country IN ('USA', 'Canada', 'Mexico'); 

SQL WHERE IN – explicado com exemplos

Conforme visto no exemplo acima, o uso da cláusula pode resultar em uma melhoria significativa no desempenho da consulta e economizar mais tempo. É mais fácil selecionar todos os países de uma vez, em vez de selecionar país após país usando o operador OR em um conjunto de dados muito maior.

  1. Escrita de consulta simplificada

Outro grande benefício de usar a cláusula SQ L WHERE IN é que ela pode simplificar o processo de escrever consultas complexas. Quando você precisa filtrar dados com base em vários valores, o uso de várias cláusulas WHERE com operadores OR pode rapidamente se tornar complicado e difícil de gerenciar.

O uso da cláusula permite que você especifique todos os valores que deseja filtrar em uma única instrução, tornando suas consultas mais fáceis de ler e manter. Isso pode ser especialmente útil ao trabalhar com grandes conjuntos de dados ou quando você precisa escrever consultas complexas com várias condições.

Por exemplo, considere a seguinte consulta SQL:

SELECT *
FROM products 
WHERE category='Electronics' AND (brand='Apple' OR brand='Samsung' OR brand='Sony') 
SELECT *
FROM products 
WHERE category='Electronics' AND brand IN ('Apple', 'Samsung', 'Sony') 

Em ambas as consultas do exemplo acima, a consulta retorna todos os produtos “eletrônicos” da Apple, Samsung e Sony.

No entanto, usar a cláusula WHERE IN como visto na última consulta pode simplificar o processo de usar consultas complexas e torná-las mais fáceis de ler e entender.

Além disso, também ajuda a evitar erros e torna menos demorado.

Nossa palavra final

Parabéns! Agora você sabe como usar a cláusula SQL WHERE IN para filtrar dados com base em uma lista de valores. Vamos avaliar o que aprendemos:

Usando WHERE IN, você pode simplificar uma variedade de consultas SQL e criá-las para recuperar uma saída escrita com mais eficiência.

Lembre-se, WHERE IN é um atalho para múltiplas condições OR, então pode substituir longas listas de instruções OR. Além disso, a cláusula pode ser usada com subconsultas, permitindo filtrar dados com base nos resultados de outra consulta.

Ao usar WHERE IN, é importante considerar os tipos de dados dos valores que você está comparando. Se os tipos de dados não corresponderem, pode ser necessário usar funções de conversão de tipo para garantir uma comparação precisa.

No geral, a cláusula SQL WHERE IN é uma sintaxe poderosa, mas básica, para filtrar dados em consultas SQL. Ao dominar esta cláusula, você pode melhorar o desempenho e a legibilidade do seu código SQL, facilitando o trabalho e a manutenção a longo prazo.

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.