TGViewer
Симулейтив Симулейтив @simulative_official · 7.45K subscribers
Post #2915 1.17K
Типичная ошибка в SQL: не использовать CASE 😱

А вы используете CASE? Иногда вы можете сократить свои запросы в несколько раз, используя его, но мы часто наблюдаем, что новички игнорируют использование этого оператора.

Например, была задача — вывести поле sum со знаком -, если type=1 и со знаком +, если type=0.

Пользователь предложил такое решение:

SELECT id, sum FROM transactions t 
WHERE type = 0
UNION ALL
SELECT id, -sum FROM transactions t
WHERE type = 1


В целом, не так плохо. Но это всего лишь промежуточный запрос, задача была намного масштабней и таких конструкций в итоге было наворочено очень много.

А вот то же самое с CASE:

SELECT id,
CASE
WHEN type = 0
THEN sum
ELSE -sum
END
FROM transactions t


Согласитесь, это намного лаконичнее и понятнее! 👍

Более того, CASE можно использовать ещё много для чего. Например, чтобы сделать из «длинной» таблицы «широкую». Или для суммирования/подсчёта количества внутри агрегатных функций (да, CASE можно использовать внутри агрегатных функций!).


А еще, кстати, COALESCE — это просто «синтаксический сахар» и обёртка вокруг CASE.

Используя оператор CASE в SQL, вы можете легко выполнять различные условные операции и улучшать читаемость ваших запросов. Не игнорируйте этот мощный инструмент!

📊 Simulative
  • ❤ 10
  • 🔥 8
More from @simulative_official
  1. Oct 7, 2026Post #3608
  2. Oct 7, 2026Уже сегодня! Вебинар о профессии дата-инженера На открытом вебинаре познакомимся с одной и…
  3. Oct 6, 2026Проекты наших студентов ❤️ Сегодня покажем вам несколько примеров, которые лучше любых сло…
  4. Oct 5, 2026💻💻💻💻💻 для тех, кто присматривается к профессии дата-инженера! Когда данных немного, и…
  5. Oct 5, 2026#проанализировали_и_поняли
  6. Oct 2, 2026🐍 Библиотека Pandas для анализа данных Pandas — это мощный инструмент для анализа данных,…
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 →