mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-01 20:12:02 +00:00
120 lines
2.6 KiB
Django/Jinja
120 lines
2.6 KiB
Django/Jinja
DROP TABLE IF EXISTS t1;
|
|
DROP TABLE IF EXISTS t2;
|
|
|
|
CREATE TABLE t1 (a Int32) ENGINE = TinyLog;
|
|
CREATE TABLE t2 (a UInt32, key UInt32) ENGINE = TinyLog;
|
|
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2, 2);
|
|
|
|
SET join_use_nulls = 1;
|
|
SET allow_experimental_analyzer = 1;
|
|
|
|
-- { echoOn }
|
|
|
|
{% for KIND in ('LEFT', 'RIGHT', 'FULL') -%}
|
|
|
|
SELECT '============ {{ KIND }} JOIN ============' FORMAT Null;
|
|
|
|
{% for right_column_name in ['a', 'key'] -%}
|
|
|
|
SELECT a, toTypeName(a)
|
|
FROM (
|
|
SELECT *
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
ON t1.a = t2.{{ right_column_name }}
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT a
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
ON t1.a = t2.{{ right_column_name }}
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT *
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
ON t1.a = t2.{{ right_column_name }}
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT t1.*
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
ON t1.a = t2.{{ right_column_name }}
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT t2.*
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
ON t1.a = t2.{{ right_column_name }}
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT t2.*
|
|
FROM t1
|
|
{{ KIND }} JOIN t2
|
|
ON t1.a = t2.{{ right_column_name }}
|
|
) ORDER BY 1;
|
|
|
|
{% if right_column_name == 'a' -%}
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT a
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
USING (a)
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT *
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
USING (a)
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT t1.*
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
USING (a)
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT t2.*
|
|
FROM (SELECT 1 :: Int32 as a) t1
|
|
{{ KIND }} JOIN (SELECT 2 :: UInt32 as {{ right_column_name }}) t2
|
|
USING (a)
|
|
) ORDER BY 1;
|
|
|
|
SELECT *, * APPLY toTypeName
|
|
FROM (
|
|
SELECT *
|
|
FROM t1
|
|
{{ KIND }} JOIN t2
|
|
USING (a)
|
|
) ORDER BY 1;
|
|
|
|
{% endif -%}
|
|
|
|
{% endfor -%}
|
|
{% endfor -%}
|
|
|
|
-- { echoOff }
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
DROP TABLE IF EXISTS t2;
|