**Usage**
Postgres, MySQL, and Oracle support the expression `LEFT JOIN ... ON 1 = 1`, but ClickHouse does not.

It may be possible to replace `LEFT JOIN ... ON 1 = 1` with `CROSS JOIN`, but I want to use the query in the same form for lots of databases.

Please support the expression `LEFT JOIN ... ON 1 = 1`.


**Detailed SQL**
```SQL
CREATE TABLE test
(
    `name` Nullable(String),
    `id` int
)
ENGINE = Log();

insert into test values ('a', 1) ('b', 2) (null, 3);

select * from test t1 left join (select * from test ) t2 on 1 = 1   
-- DB::Exception: Not equi-join ON expression: 1 = 1. No columns in one of equality side.: While processing 1 = 1.
```

{
    if (!left_type_map.empty() || !right_type_map.empty())
        return true;
    NameToTypeMap left_types;
    for (const auto & col : left)
        left_types[col.name] = col.type;
    NameToTypeMap right_types;
    for (const auto & col : right)
        right_types[renamedRightColumnName(col.name)] = col.type;
    forAllKeys(clauses, [&](const auto & left_key_name, const auto & right_key_name)
    {
        auto ltype = left_types.find(left_key_name);
        auto rtype = right_types.find(right_key_name);
        if (ltype == left_types.end() || rtype == right_types.end())
        {
            
            left_type_map.clear();
            right_type_map.clear();
            return false;
        }
        if (JoinCommon::typesEqualUpToNullability(ltype->second, rtype->second))
            return true;
        DataTypePtr common_type;
        try
        {