You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-10Lines changed: 7 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,27 +47,24 @@ Please feel free to reach out to tyler `<at>` clickhouse `<dot>` com.
47
47
You can also peruse [ClickHouse Events](https://clickhouse.com/company/news-events) for a list of all upcoming trainings, meetups, speaking engagements, etc.
48
48
49
49
Upcoming meetups
50
-
*[AI Builders Night San Jose](https://luma.com/xoq2dz0l) - March 16th, 2026
51
-
*[Munich Meetup](https://www.meetup.com/clickhouse-meetup-munich/events/313487152/) - March 19th, 2026
52
-
*[NY Meetup](https://luma.com/c7tprb51) - March 19th, 2026
53
-
*[RSA Iceberg Meetup SF](https://luma.com/rsa-iceberg) - March 24th, 2026
54
-
*[Milan Meetup](https://www.meetup.com/clickhouse-italy-user-group/events/313586581/) - March 26th, 2026
55
-
*[Seattle Observability Meetup](https://luma.com/vph3jbkm) - March 26th, 2026
56
-
*[San Francisco Observability FireSide Chat](https://luma.com/v5d8u087) - March 31st, 2026
57
50
*[AI Demo Night SF](https://luma.com/jyzlu78v) - April 9th, 2026
51
+
*[San Jose Meetup](https://luma.com/f3bdyaup) - April 16th, 2026
58
52
*[Taipei Open Source Night](https://luma.com/kt3xtz3a) - April 16th, 2026
59
53
60
54
Recent meetups
55
+
*[Seattle Observability Meetup](https://luma.com/vph3jbkm) - March 26th, 2026
56
+
*[Milan Meetup](https://www.meetup.com/clickhouse-italy-user-group/events/313586581/) - March 26th, 2026
57
+
*[RSA Iceberg Meetup SF](https://luma.com/rsa-iceberg) - March 24th, 2026
58
+
*[NY Meetup](https://luma.com/c7tprb51) - March 19th, 2026
59
+
*[Munich Meetup](https://www.meetup.com/clickhouse-meetup-munich/events/313487152/) - March 19th, 2026
60
+
*[AI Builders Night San Jose](https://luma.com/xoq2dz0l) - March 16th, 2026
61
61
*[Apache Iceberg™ Meetup Pittsburgh](https://luma.com/mqgwk79x) - March 12th, 2026
62
62
*[SRE Days London Meetup](https://luma.com/sreday-2026-london-q1) - March 12, 2026
63
63
*[San Francisco Meetup](https://luma.com/6rnu6wzs) - March 11th, 2026
64
64
*[Sao Paulo Meetup](https://www.meetup.com/clickhouse-brasil-user-group/events/313294062) - March 10th, 2026
65
65
*[Women+ in open source](https://luma.com/qcqlia4g) - March 9th, 2026
66
66
*[Tokyo Meetup - LibreChat Night](https://www.meetup.com/clickhouse-tokyo-user-group/events/313275265/) - March 9th, 2026
67
67
*[LA Meetup](https://luma.com/wbkqmaqk) - March 6th, 2026
68
-
*[Bangalore GDG + Deutsche Bank Meetup](https://www.meetup.com/clickhouse-bangalore-user-group/events/313325219/) - February 28th, 2026
69
-
*[Seattle Meetup](https://luma.com/jsctpwoa) - February 26th, 2026
70
-
*[Melbourne Meetup](https://www.meetup.com/clickhouse-melbourne-user-group/events/312871833/) - February 24th, 2026
Copy file name to clipboardExpand all lines: docs/en/sql-reference/data-types/newjson.md
+54-1Lines changed: 54 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -322,7 +322,60 @@ SELECT json.^a.b, json.^d.e.f FROM test;
322
322
```
323
323
324
324
:::note
325
-
Reading sub-objects as sub-columns may be inefficient, as this may require a near full scan of the JSON data.
325
+
When paths are stored in basic (`map`) [shared data](#shared-data-structure), reading sub-object sub-columns may be inefficient as it requires scanning the entire shared data structure. With `map_with_buckets` or `advanced` shared data serialization, reading sub-columns from shared data is highly optimized.
The `JSON` type supports reading a path as a **combined sub-column** using the special syntax `json.@some.path`.
331
+
A combined sub-column for a given path returns:
332
+
- The literal value stored at that path as `Dynamic`, if the path has a literal value.
333
+
- A JSON sub-object at that path as `Dynamic`, if the path has no literal value but has nested sub-paths.
334
+
-`NULL`, if neither a literal value nor any sub-paths exist for that path.
335
+
336
+
This is useful when a path may hold either a scalar value or a nested object across different rows, and is more convenient than separately querying the literal sub-column (`json.a`) and the sub-object sub-column (`json.^a`).
337
+
338
+
The following example compares all three sub-column types for path `a`:
- Row 1: `a` holds a literal `42`. `json.a` returns it as `Dynamic(Int64)`, `json.^a` returns an empty sub-object `{}` (no nested keys under `a`), and `json.@a` returns the literal `42`.
374
+
- Row 2: `a` holds a nested object. `json.a` returns `NULL` (no literal at that path), `json.^a` returns the sub-object as `JSON`, and `json.@a` also returns the sub-object as `Dynamic(JSON)`.
375
+
- Row 3: `a` is absent entirely. Both `json.a` and `json.@a` return `NULL`, while `json.^a` returns an empty `{}`.
376
+
377
+
:::note
378
+
When paths are stored in basic (`map`) [shared data](#shared-data-structure), reading combined sub-columns may be inefficient as it requires scanning the entire shared data structure. With `map_with_buckets` or `advanced` shared data serialization, reading sub-columns from shared data is highly optimized.
326
379
:::
327
380
328
381
## Type inference for paths {#type-inference-for-paths}
0 commit comments