TGViewer
Дима SQL-ит 🧑‍💻 (Аналитика данных, AI) Дима SQL-ит 🧑‍💻 (Аналитика данных, AI) @dima_sqlit · 2.22K subscribers
Post #172 1.33K
❤️ Переменные в SQL: один раз написал — везде обновилось

Вам знакома ситуация, когда - написал большой sql запрос для задачи, а потом заказчик говорит: «Покажи то же самое, но за прошлый квартал» ?
И вы начинаете искать дату по всему файлу. Находите все вхождения, правите — и где-то всё равно пропускаешь одно. Запрос считает не то.
В общем очень много рутины.

🟢 В Python мы бы написали переменную в начале и пере использовали ее везде:
start_date = "2024-01-01"
discount_threshold = 0.10


🟢 Но в SQL тоже можно кое что придумать:
WITH params AS (
SELECT
DATE '2024-01-01' AS period_start,
DATE '2024-03-31' AS period_end,
0.10 AS discount_threshold
),
big_orders AS (
SELECT
o.order_id,
o.amount,
o.discount
FROM orders o
CROSS JOIN params p
WHERE o.order_date BETWEEN p.period_start AND p.period_end
AND o.discount > p.discount_threshold
)
SELECT * FROM big_orders


Все параметры — в одном месте сверху. Поменял квартал один раз — везде пересчиталось.

CROSS JOIN здесь — это не страшно.
params возвращает одну строку.
CROSS JOIN просто «прицепляет» эту строку к каждой строке основной таблицы.

🟢 Хотите еще таких лайфхаков ?
🔥 Набираем 70 реакций на этот пост, чтобы подобные посты выходили чаще

Итог: 🤩

🗂 Это один из тех приёмов, который занимает 10 секунд, но экономит кучу времени на поддержке запроса.
❓ А как вы решаете эту проблему — хардкодите или есть другой подход? Пишите в комментах!
📤 Пересылай пост коллеге или другу из аналитики — это бесплатно и помогает каналу расти. Спасибо!


🚬 Вопросы, обучение, консультации: Написать в ЛС | mentor.dima-sqlit.ru


@dima_sqlit
  • 🔥 66
  • ❤‍🔥 18
More from @dima_sqlit
  1. Sep 21, 2026🧠 Уровень абстракции — навык, который сэкономит вам годы учёбы: Когда я начинал изучать P…
  2. Sep 18, 2026🏦 Задача с собеса в Т-банк на SQL: вторая зарплата в отделе Условие: есть таблица сотрудн…
  3. Sep 16, 2026🏠 IT ипотека (Часть 3) — Как я сэкономил на ремонте: кэшбэк, промокоды и один неочевидный…
  4. Sep 7, 2026🍂 Осень — сезон найма: Каждый год одна и та же история — в сентябре рынок будто просыпает…
  5. Aug 24, 2026P-value простыми словами: Условие: подбросили монету 10 раз, выпало 9 орлов. Можно ли тепе…
  6. Aug 20, 2026📝 Как работают JOIN в SQL — разбор на пальцах: Разберём, откуда берутся дубли и почему по…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →