Skip to main content

Introdução

Filtrar uma tabela do ClickHouse por uma coluna do tipo Array é uma tarefa comum, e o produto oferece muitas funções para trabalhar com colunas do tipo Array. Neste artigo, vamos nos concentrar em filtrar uma tabela por uma coluna do tipo Array, mas o vídeo abaixo aborda muitas outras funções relacionadas a Arrays:

Exemplo

Usaremos o exemplo de uma tabela com duas colunas, tags_string e tags_int, que contêm um array de strings e de inteiros, respectivamente.
  • Crie um banco de dados e uma tabela de exemplo.
  • Crie uma tabela de exemplo
  • Insira alguns dados de exemplo na tabela.
Filtre a tabela usando a função has(arr, elem) para retornar as linhas em que o array arr contém o elemento elem. Filtre a tabela para retornar as linhas em que o array tags_string contém o elemento tag1.
Use a função hasAll(arr, elems) para retornar as linhas em que todos os elementos do array elems estão presentes no array arr. Filtre a tabela para retornar as linhas em que todos os elementos do array tags_string estão presentes no array ['tag1', 'tag2'].
Use a função hasAny(arr, elems) para retornar as linhas em que pelo menos um elemento do array elems está presente no array arr. Filtre a tabela para retornar as linhas em que pelo menos um elemento do array tags_string está presente no array ['tag1', 'tag2'].
Podemos usar uma função lambda para filtrar a tabela com a função arrayExists(lambda, arr). Filtre a tabela para retornar as linhas em que pelo menos um elemento do array tags_int seja maior que 3.
Última modificação em 3 de julho de 2026