2022-10-25 10:35:25 +00:00
|
|
|
SET allow_experimental_analyzer = 1;
|
2022-07-18 17:20:28 +00:00
|
|
|
|
|
|
|
DROP TABLE IF EXISTS test_table;
|
|
|
|
CREATE TABLE test_table
|
|
|
|
(
|
|
|
|
id UInt64,
|
|
|
|
value String
|
|
|
|
) ENGINE=TinyLog;
|
|
|
|
|
|
|
|
INSERT INTO test_table VALUES (0, 'Value');
|
|
|
|
|
|
|
|
SELECT 'Scalar subqueries';
|
|
|
|
|
|
|
|
SELECT (SELECT 1);
|
|
|
|
WITH 1 AS a SELECT (SELECT a);
|
|
|
|
|
|
|
|
SELECT (SELECT id FROM test_table);
|
|
|
|
SELECT (SELECT value FROM test_table);
|
|
|
|
SELECT (SELECT id, value FROM test_table);
|
|
|
|
|
|
|
|
SELECT 'Subqueries FROM section';
|
|
|
|
|
|
|
|
SELECT a FROM (SELECT 1 AS a) AS b;
|
|
|
|
SELECT b.a FROM (SELECT 1 AS a) AS b;
|
|
|
|
|
|
|
|
SELECT a FROM (SELECT 1 AS a) AS b;
|
|
|
|
SELECT b.a FROM (SELECT 1 AS a) AS b;
|
|
|
|
|
|
|
|
WITH 1 AS global_a SELECT a FROM (SELECT global_a AS a) AS b;
|
|
|
|
WITH 1 AS global_a SELECT b.a FROM (SELECT global_a AS a) AS b;
|
|
|
|
|
|
|
|
SELECT * FROM (SELECT * FROM (SELECT * FROM test_table));
|
|
|
|
SELECT * FROM (SELECT id, value FROM (SELECT * FROM test_table));
|
|
|
|
|
2022-10-25 10:35:25 +00:00
|
|
|
WITH 1 AS a SELECT (SELECT * FROM (SELECT * FROM (SELECT a + 1)));
|
2022-07-18 17:20:28 +00:00
|
|
|
|
|
|
|
SELECT 'Subqueries CTE';
|
|
|
|
|
|
|
|
WITH subquery AS (SELECT 1 AS a) SELECT * FROM subquery;
|
|
|
|
WITH subquery AS (SELECT 1 AS a) SELECT a FROM subquery;
|
|
|
|
WITH subquery AS (SELECT 1 AS a) SELECT subquery.a FROM subquery;
|
|
|
|
WITH subquery AS (SELECT 1 AS a) SELECT subquery.* FROM subquery;
|
|
|
|
WITH subquery AS (SELECT 1 AS a) SELECT subquery.* APPLY toString FROM subquery;
|
|
|
|
WITH subquery AS (SELECT 1 AS a) SELECT subquery_alias.a FROM subquery AS subquery_alias;
|
|
|
|
WITH subquery AS (SELECT 1 AS a) SELECT subquery_alias.* FROM subquery AS subquery_alias;
|
|
|
|
WITH subquery AS (SELECT 1 AS a) SELECT subquery_alias.* APPLY toString FROM subquery AS subquery_alias;
|
|
|
|
|
|
|
|
WITH subquery_1 AS (SELECT 1 AS a), subquery_2 AS (SELECT 1 + subquery_1.a FROM subquery_1) SELECT * FROM subquery_2;
|
|
|
|
WITH subquery_1 AS (SELECT 1 AS a), subquery_2 AS (SELECT (1 + subquery_1.a) AS a FROM subquery_1) SELECT subquery_2.a FROM subquery_2;
|
|
|
|
|
|
|
|
DROP TABLE test_table;
|