TGTGInsighttelegram intelligenceLIVE / telegram public index
← DataSciencePRO
DataSciencePRO avatar

TGINSIGHT POST

Post #652

@ds1pro

DataSciencePRO

Прегледи1,130Број на прегледи
Објавено9 окт.09.10.2024 г., 14:08
Содржина

Содржина на објавата

Google починил SQL Как думаете, что делает запрос ниже? FROM customer |> LEFT OUTER JOIN orders ON c_custkey = o_custkey AND o_comment NOT LIKE '%unusual%packages%' |> AGGREGATE COUNT(o_orderkey) c_count GROUP BY c_custkey |> AGGREGATE COUNT(*) AS custdist GROUP BY c_count |> ORDER BY custdist DESC, c_count DESC; А делает он то же, что вот этот: SELECT c_count, COUNT(*) AS custdist FROM ( SELECT c_custkey, COUNT(o_orderkey) c_count FROM customer LEFT OUTER JOIN orders ON c_custkey = o_custkey AND o_comment NOT LIKE '%unusual%packages%' GROUP BY c_custkey ) AS c_orders GROUP BY c_count ORDER BY custdist DESC, c_count DESC; Главное отличие в том, что первая версия кода — это новый более лучший улучшенный SQL от Google. 👀 А что не так со старым? У SQL много плюсов, но давайте честно — это не самый простой язык. Иногда даже опытным экспертам бывает сложно разобраться, как написать или прочитать особенно хитрый запрос. Но и отказываться от него не хочется: во-первых, мы все-таки его любим, а во-вторых, достойной альтернативы ему просто нет. Поэтому ребята из Google предложили решение — конвейерный синтаксис, который вы и видите выше. Что такое GoogleSQL? GoogleSQL — это диалект SQL, разработанный в Google. К нему прикрутили поддержку «конвейерных» запросов (но обычные и смешанные тоже допускаются). Они отмечаются значком |> и в основном выполняют те же функции, что их «тезки» в стандартном SQL. Хотя есть и несколько экспериментальных, у которых нет аналогов. 🔜 Подробнее можно почитать в публикации от команды Google. Самое интересное начинается с 4 страницы — там про операторы, синтаксис и логику работы. Если совсем кратко (чтобы влезло в пост в Tg), то главный плюс подхода, предложенного Google, — запросы намного проще писать, читать, редактировать, дебажить, добавлять новые операторы и так далее. Вот такой апдейт для старого доброго SQL. Что скажете? ❤️ — так действительно удобнее 🌚 — это уже не SQL