Іноді мені потрібно писати SQL-запити до semi-structured датасетів.
Наприклад, коли в колонці лежить масив JSON-обʼєктів.
🤨 Старий підхід: LATERAL FLATTEN або UDF-функції.
😎 Новий підхід: вбудовані lambda-функції прямо в SQL.
Кілька корисних прикладів 👇
👉 FILTER
Фільтрує масив за умовою.
Наприклад, повернути лише елементи, де поле value ≥ 50:
FILTER(items, i -> i:value >= 50)
👉 REDUCE
Агрегація «на місці».
Наприклад, порахувати суму цін позицій у замовленні:
REDUCE(order_items, 0, (acc, val) -> acc + val:price)
👉 TRANSFORM (мій улюблений 😍)
Проходиться по масиву та трансформує кожен елемент.
Наприклад, отримати всі id з масиву JSON-ів:
TRANSFORM(items, v -> v:id)
Я вже давно так не радів новим фішкам в SQL.

