Новый релиз бесплатного инструмента T-SQL Analyzer на .NET для выявления антипаттернов в T-SQL-скриптах — более 140 проверок
НОВОЕ: поддержка форматирования SQL-кода с использованием библиотеки SqlScriptDom
Приводите ваш T-SQL к единообразному и читаемому виду🍺
👉 @SQLPortal
НОВОЕ: поддержка форматирования SQL-кода с использованием библиотеки SqlScriptDom
Приводите ваш T-SQL к единообразному и читаемому виду
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3👀1
Понимание порядка выполнения SQL-запроса критично для написания корректных и оптимизированных запросов.
Запомни последовательность: FROM и JOIN, WHERE, GROUP BY, HAVING, SELECT, DISTINCT, ORDER BY, затем LIMIT.
Освоение этого порядка ускоряет отладку и помогает мыслить как СУБД. #SQL #DataAnalytics #LearnSQL #Database
👉 @SQLPortal
Запомни последовательность: FROM и JOIN, WHERE, GROUP BY, HAVING, SELECT, DISTINCT, ORDER BY, затем LIMIT.
Освоение этого порядка ускоряет отладку и помогает мыслить как СУБД. #SQL #DataAnalytics #LearnSQL #Database
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3😁1
Чистые данные — это основа надёжной аналитики. SQL упрощает работу с NULL-значениями, дубликатами, выбросами, проблемами форматирования, опечатками и несогласованными значениями перед анализом или построением отчётности. Хорошие навыки очистки данных повышают точность и качество принимаемых решений. #SQL #DataAnalytics #DataCleaning #DataScience
👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
В PostgreSQL 19 Beta 1 завезли
Теперь можно попытаться вставить запись, а если она уже есть — сразу получить существующую.
Похоже, атомарный get-or-create наконец добрался до PostgreSQL.
#PostgreSQL #SQL
👉 @SQLPortal
ON CONFLICT DO SELECT.Теперь можно попытаться вставить запись, а если она уже есть — сразу получить существующую.
Похоже, атомарный get-or-create наконец добрался до PostgreSQL.
#PostgreSQL #SQL
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня на практике разбирался с обработкой ошибок в SQL.
Что сделал:
→ Написал хранимую процедуру для добавления заказов в базу данных Sales
→ Обернул её в блок TRY/CATCH
→ При ошибке сохраняются точные значения ERROR_MESSAGE() и ERROR_NUMBER()
→ Никаких тихих падений и гаданий. База данных сама сообщает, что пошло не так.
Почему это важно:
→ Пайплайны ломаются
→ Данные бывают грязными
→ Ошибки неизбежны
Пайплайн без обработки ошибок — это пайплайн, которому нельзя доверять.
В этом и разница между SQL-кодом, который работает на твоём ноутбуке, и SQL-кодом, который выдерживает продакшен.
#DataEngineering #BuildInPublic #SQL
👉 @SQLPortal
Что сделал:
→ Написал хранимую процедуру для добавления заказов в базу данных Sales
→ Обернул её в блок TRY/CATCH
→ При ошибке сохраняются точные значения ERROR_MESSAGE() и ERROR_NUMBER()
→ Никаких тихих падений и гаданий. База данных сама сообщает, что пошло не так.
Почему это важно:
→ Пайплайны ломаются
→ Данные бывают грязными
→ Ошибки неизбежны
Пайплайн без обработки ошибок — это пайплайн, которому нельзя доверять.
В этом и разница между SQL-кодом, который работает на твоём ноутбуке, и SQL-кодом, который выдерживает продакшен.
#DataEngineering #BuildInPublic #SQL
Please open Telegram to view this post
VIEW IN TELEGRAM
В Oracle AI Database 26ai теперь можно определять функции и модули на JavaScript прямо в базе данных.
Это позволяет публиковать JavaScript-код, который затем можно вызывать напрямую из SQL.
#JavaScript #OracleDatabase #SQL #MLE
👉 @SQLPortal
CREATE FUNCTION ... MLE LANGUAGE JAVASCRIPT ...
CREATE MLE MODULE ... LANGUAGE JAVASCRIPT ...
Это позволяет публиковать JavaScript-код, который затем можно вызывать напрямую из SQL.
#JavaScript #OracleDatabase #SQL #MLE
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Общие табличные выражения (Common Table Expressions, CTE), известные по ключевому слову
CTE помогают упростить сложные SQL-запросы и сделать их более читаемыми.
Вместо вложенных подзапросов на несколько уровней можно разбить логику на отдельные именованные блоки и затем использовать их как обычные таблицы в основном запросе.
Преимущества:
→ улучшают читаемость сложных запросов
→ позволяют повторно использовать промежуточные результаты
→ упрощают отладку и поддержку SQL-кода
→ поддерживают рекурсивные запросы через
Baraa Khatib Salkini наглядно показывает, как работают CTE и почему они делают сложные SQL-запросы гораздо понятнее.
👉 @SQLPortal
WITH, позволяют создавать именованные подзапросы:WITH cte AS (
SELECT ...
)
SELECT *
FROM cte;
CTE помогают упростить сложные SQL-запросы и сделать их более читаемыми.
Вместо вложенных подзапросов на несколько уровней можно разбить логику на отдельные именованные блоки и затем использовать их как обычные таблицы в основном запросе.
Преимущества:
→ улучшают читаемость сложных запросов
→ позволяют повторно использовать промежуточные результаты
→ упрощают отладку и поддержку SQL-кода
→ поддерживают рекурсивные запросы через
WITH RECURSIVEBaraa Khatib Salkini наглядно показывает, как работают CTE и почему они делают сложные SQL-запросы гораздо понятнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SQL CTE (Common Table Expression) Visually Explained | Full Guide WITH Clause | #SQL Course 28
Visually explained how SQL CTEs work using the WITH clause to simplify complex queries and improve readability.
Want More? 👇
- *Free Download Materials* https://www.datawithbaraa.com/wiki/sql#sql-welcome
- *Free SQL Course* https://youtu.be/SSKVgrwhzus…
Want More? 👇
- *Free Download Materials* https://www.datawithbaraa.com/wiki/sql#sql-welcome
- *Free SQL Course* https://youtu.be/SSKVgrwhzus…
❤4