diff --git a/docs/en/query_language/select.md b/docs/en/query_language/select.md index d387b5de463..a32d3cde6f6 100644 --- a/docs/en/query_language/select.md +++ b/docs/en/query_language/select.md @@ -560,14 +560,15 @@ If the `JOIN` keys are [Nullable](../data_types/nullable.md) fields, the rows wh #### Syntax Limitations -For multiple `JOIN` clauses in the single `SELECT` query: +For multiple `JOIN` clauses in a single `SELECT` query: - Taking all the columns via `*` is available only if tables are joined, not subqueries. - The `PREWHERE` clause is not available. -For `ON`, `WHERE` and `GROUP BY` clauses: +For `ON`, `WHERE`, and `GROUP BY` clauses: + +- Arbitrary expressions cannot be used in `ON`, `WHERE`, and `GROUP BY` clauses, but you can define an expression in a `SELECT` clause and then use it in these clauses via an alias. -- Arbitrary expressions cannot be used in `ON`, `WHERE` and `GROUP BY` clauses, but you can define an expression in `SELECT` clause and then use it via alias in these clauses. ### WHERE Clause diff --git a/docs/ru/query_language/select.md b/docs/ru/query_language/select.md index de3e9d20215..614c56ee44e 100644 --- a/docs/ru/query_language/select.md +++ b/docs/ru/query_language/select.md @@ -202,7 +202,7 @@ VALUES ('Hello', [1,2]), ('World', [3,4,5]), ('Goodbye', []); В примере ниже используется `ARRAY JOIN`: -``` sql +```sql SELECT s, arr FROM arrays_test ARRAY JOIN arr; @@ -219,7 +219,7 @@ ARRAY JOIN arr; Следующий пример использует `LEFT ARRAY JOIN`: -``` sql +```sql SELECT s, arr FROM arrays_test LEFT ARRAY JOIN arr; @@ -431,7 +431,7 @@ ARRAY JOIN nest AS n, arrayEnumerate(`nest.x`) AS num; Соединяет данные в привычном для [SQL JOIN](https://en.wikipedia.org/wiki/Join_(SQL)) смысле. !!! info "Примечание" - Не связана с функциональностью с [ARRAY JOIN](#select-array-join-clause). + Не связана с функциональностью [ARRAY JOIN](#select-array-join-clause). ```sql SELECT @@ -556,6 +556,17 @@ LIMIT 10 Если ключами `JOIN` выступают поля типа [Nullable](../data_types/nullable.md), то строки, где хотя бы один из ключей имеет значение [NULL](syntax.md#null-literal), не соединяются. +#### Ограничения синтаксиса + +Для множественных секций `JOIN` в одном запросе `SELECT`: + +- Получение всех столбцов через `*` возможно только при объединении таблиц, но не подзапросов. +- Секция `PREWHERE` недоступна. + +Для секций `ON`, `WHERE` и `GROUP BY`: + +- Нельзя использовать произвольные выражения в секциях `ON`, `WHERE`, и `GROUP BY`, однако можно определить выражение в секции `SELECT` и затем использовать его через алиас в других секциях. + ### Секция WHERE {#select-where} Позволяет задать выражение, которое ClickHouse использует для фильтрации данных перед всеми другими действиями в запросе кроме выражений, содержащихся в секции [PREWHERE](#select-prewhere). Обычно, это выражение с логическими операторами.