Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Condição IN

Modo de foco
Condição IN - Amazon Redshift

Uma condição IN testa um valor para associação em um conjunto de valores ou uma subconsulta.

Sintaxe

expression [ NOT ] IN (expr_list | table_subquery)

Argumentos

expressão

Uma expressão numérica, de caractere ou de data e hora que é avaliada em relação a expr_list ou table_subquery e deve ser compatível com o tipo de dados daquela lista ou subconsulta.

expr_list

Uma ou várias expressões delimitadas por vírgula ou um ou mais conjuntos de expressões delimitadas por vírgula entre parênteses.

table_subquery

Uma subconsulta que avalia em uma tabela com uma ou mais linhas, mas é limitada a somente uma coluna em sua lista de seleção.

IN | NOT IN

IN retorna verdadeiro se a expressão é um membro da lista de expressão ou consulta. NOT IN retorna verdadeiro se a expressão não é um membro. IN e NOT IN retornam null e nenhuma linha é retornada nos seguintes casos: Se a expressão resulta em nulo; ou se não há valores expr_list ou table_subquery correspondentes e pelo menos uma dessas linhas de comparação resulta em null.

Exemplos

As seguintes condições são verdadeiras somente para os valores listados:

qtysold in (2, 4, 5) date.day in ('Mon', 'Tues') date.month not in ('Oct', 'Nov', 'Dec')

Otimização para grandes listas IN

Para otimizar a performance da consulta, uma lista IN que inclua mais do que 10 valores é internamente avaliada como uma matriz escalar. Listas IN com menos do que 10 valores são avaliadas como uma série de predicados OR. Essa otimização é compatível com os tipos de dados SMALLINT, INTEGER, BIGINT, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP e TIMESTAMPTZ.

Observe a saída EXPLAIN para a consulta para visualizar o efeito desta otimização. Por exemplo:

explain select * from sales QUERY PLAN -------------------------------------------------------------------- XN Seq Scan on sales (cost=0.00..6035.96 rows=86228 width=53) Filter: (salesid = ANY ('{1,2,3,4,5,6,7,8,9,10,11}'::integer[])) (2 rows)
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.