Clickhouse: Cláusula WHERE

A Cláusula WHERE

A cláusula WHERE permite filtrar os dados provenientes da cláusula FROM de SELECT.

Se houver uma cláusula WHERE, ela deve conter uma expressão com o UInt8tipo. Geralmente, é uma expressão com operadores de comparação e lógicos. As linhas em que essa expressão é avaliada 0 são excluídas de transformações ou resultados posteriores.

A expressão WHERE é avaliada com base na capacidade de usar índices e poda de partições, se o mecanismo de tabela subjacente oferecer suporte a isso.

Observação
Existe uma otimização de filtragem chamada PREWHERE .

Se você precisar testar um valor para NULL , use os operadores IS NULL e IS NOT NULL ou as funções isNull e isNotNull . Caso contrário, uma expressão com NULL nunca passará.

Exemplo

Para encontrar números que são múltiplos de 3 e são maiores que 10, execute a seguinte consulta na tabela de números :

SELECT number FROM numbers(20) WHERE (number > 10) AND (number % 3 == 0);

Resultado:

number
12
15
18

Consultas com valores NULL:

CREATE TABLE t_null(x Int8, y Nullable(Int8)) ENGINE=MergeTree() ORDER BY x;
INSERT INTO t_null VALUES (1, NULL), (2, 3);

SELECT * FROM t_null WHERE y IS NULL;
SELECT * FROM t_null WHERE y != 0;

Resultado:

x
y
1
NULL

x
y
2
3


PREWHERE Clause. Clickhouse.com. Disponível em:
https://clickhouse.com/docs/en/sql-reference/statements/select/where. Acesso em: 09 Set 2024.

Data de Publicação: 09-09-2024

Categoria: Clickhouse