ClickHouse/docs/en/sql_reference/functions/array_join.md
2020-04-03 16:23:32 +03:00

36 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
toc_priority: 61
toc_title: arrayJoin
---
# arrayJoin function {#functions_arrayjoin}
This is a very unusual function.
Normal functions dont change a set of rows, but just change the values in each row (map).
Aggregate functions compress a set of rows (fold or reduce).
The arrayJoin function takes each row and generates a set of rows (unfold).
This function takes an array as an argument, and propagates the source row to multiple rows for the number of elements in the array.
All the values in columns are simply copied, except the values in the column where this function is applied; it is replaced with the corresponding array value.
A query can use multiple `arrayJoin` functions. In this case, the transformation is performed multiple times.
Note the ARRAY JOIN syntax in the SELECT query, which provides broader possibilities.
Example:
``` sql
SELECT arrayJoin([1, 2, 3] AS src) AS dst, 'Hello', src
```
``` text
┌─dst─┬─\'Hello\'─┬─src─────┐
│ 1 │ Hello │ [1,2,3] │
│ 2 │ Hello │ [1,2,3] │
│ 3 │ Hello │ [1,2,3] │
└─────┴───────────┴─────────┘
```
[Original article](https://clickhouse.tech/docs/en/query_language/functions/array_join/) <!--hide-->