各要素がそれぞれ個別の型を持つタプルです。Tuple には少なくとも 1 つの要素が含まれている必要があります。
Tuple は、一時的にカラムをグループ化するために使用されます。クエリで IN 式を使用するときや、ラムダ関数の特定の形式引数を指定するときに、カラムをグループ化できます。詳しくは、IN 演算子および高階関数のセクションを参照してください。
Tuple はクエリの結果になることもあります。この場合、JSON 以外のテキストフォーマットでは、値は () で囲まれたカンマ区切りで出力されます。JSON フォーマットでは、タプルは配列 ([]) として出力されます。
関数を使ってタプルを作成できます。
タプルを作成する例:
Tuple には 1 つの要素だけを含めることができます
例:
tuple() 関数を呼び出さなくても、構文 (tuple_element1, tuple_element2) を使って複数の要素からなるタプルを作成できます。
例:
その場でタプルを作成する際、ClickHouse は、指定された引数の値を格納できる最小の型として、各引数の型を推定します。値が NULL の場合、推定される型は Nullable です。
データ型の自動検出の例:
Tuple 要素は、名前またはインデックスで参照できます。
2 つのタプルは、左から右へ要素を順に比較していきます。最初のタプルの要素が 2 番目のタプルの対応する要素より大きい (小さい) 場合、最初のタプルは 2 番目のタプルより大きい (小さい) と見なされます。そうでない場合 (両方の要素が等しい場合) は、次の要素を比較します。
例:
実際の例:
Nullable(Tuple(T1, T2, …))
ベータ機能SET enable_nullable_tuple_type = 1 が必要です
これはベータ機能です。
Tuple(Nullable(T1), Nullable(T2), ...) では個々の要素のみを NULL にできるのに対し、こちらではタプル全体を NULL にできます。
例: