CREATE TABLE array_join_function_cross (A Array(UInt32), B Array(UInt32), C Array(UInt32)) ENGINE = MergeTree ORDER BY tuple() INSERT INTO array_join_function_cross SELECT arrayMap(x -> x + (number % 7), range(50)), arrayMap(x -> x + (number % 11), range(50)), arrayMap(x -> x + (number % 13), range(50)) FROM numbers(600) SELECT sum(a + b + c) FROM (SELECT arrayJoin(A) AS a, arrayJoin(B) AS b, arrayJoin(C) AS c FROM array_join_function_cross) SELECT sum(a + b + c) FROM (SELECT arrayJoin(A) AS a, arrayJoin(B) AS b, arrayJoin(C) AS c FROM array_join_function_cross WHERE a + b + c > 100) SELECT sum(a) FROM (SELECT arrayJoin(A) AS a FROM array_join_function_cross) DROP TABLE IF EXISTS array_join_function_cross