Uma tupla de elementos, cada elemento com um tipo próprio. Tuple deve conter pelo menos um elemento.
Tuplas são usadas para o agrupamento temporário de colunas. As colunas podem ser agrupadas quando uma expressão IN é usada em uma consulta e para especificar determinados parâmetros formais de funções lambda. Para mais informações, consulte as seções operadores IN e funções de ordem superior.
Tuplas podem ser o resultado de uma consulta. Nesse caso, em formatos de texto diferentes de JSON, os valores são separados por vírgulas em (). Em formatos JSON, as tuplas são exibidas como arrays (em []).
Você pode usar uma função para criar uma tupla:
Exemplo de como criar uma tupla:
Uma Tuple pode conter um único elemento
Exemplo:
A sintaxe (tuple_element1, tuple_element2) pode ser usada para criar uma tupla com vários elementos sem chamar a função tuple().
Exemplo:
Detecção de tipos de dados
Ao criar tuplas dinamicamente, o ClickHouse infere o tipo dos argumentos da tupla como os menores tipos capazes de armazenar o valor do argumento fornecido. Se o valor for NULL, o tipo inferido será Nullable.
Exemplo de detecção automática de tipos de dados:
Referência aos elementos de Tuple
Os elementos de Tuple podem ser referenciados pelo nome ou pelo índice:
Duas tuplas são comparadas sequencialmente, da esquerda para a direita. Se o elemento da primeira tupla for maior (menor) que o elemento correspondente da segunda tupla, então a primeira tupla será maior (menor) que a segunda; caso contrário (se ambos os elementos forem iguais), compara-se o próximo elemento.
Exemplo:
Exemplos práticos:
Nullable(Tuple(T1, T2, …))
Funcionalidade experimentalRequer SET allow_experimental_nullable_tuple_type = 1
Esta funcionalidade é experimental e pode mudar em versões futuras.
Permite que a tupla inteira seja NULL, ao contrário de Tuple(Nullable(T1), Nullable(T2), ...), em que apenas os elementos individuais podem ser NULL.
Exemplo: