Срок обещан один, а товар приехал позже - это сразу удар по доверию клиента и показателям сервиса.
Сегодня в задаче:
• Сравним обещанную дату доставки с фактической;
• Посчитаем количество дней задержки;
• Вернём список всех заказов с опозданием.
В результате получаем инструмент для контроля логистики: видно, где сбои и на сколько дней выходят из графика. Это основа для улучшения SLA и переговоров с перевозчиками.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤9🔥5🤝1
В этой шпаргалке — практичные приёмы условной логики, которые заменяют громоздкие подзапросы. С их помощью можно проверять NULL, подставлять значения по умолчанию, строить бизнес-правила прямо в запросах и гибко фильтровать данные в реальной аналитике.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤6🔥6🤝2
CHECK — встроенный контроль качества данных!
Он помогает базе сразу отбраковывать мусорные или аномальные значения, не дожидаясь ошибок в приложении или аналитике.
Пример: таблица заказов
Попытка вставить некорректное значение:
Можно добавлять бизнес-правила:
Но если в таблице уже есть строки с total_amount < 100, СУБД выдаст ошибку.
🔥 Так что,
➡️ SQL Ready | #практика
Он помогает базе сразу отбраковывать мусорные или аномальные значения, не дожидаясь ошибок в приложении или аналитике.
Пример: таблица заказов
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT NOT NULL,
total_amount DECIMAL(10,2) NOT NULL CHECK (total_amount >= 0),
status VARCHAR(20) NOT NULL CHECK (status IN ('new', 'pending', 'shipped'))
);
Попытка вставить некорректное значение:
INSERT INTO orders VALUES (1, 101, -500, 'new');
-- ERROR: check constraint violated
Можно добавлять бизнес-правила:
ALTER TABLE orders
ADD CONSTRAINT chk_min_total CHECK (total_amount >= 100);
Но если в таблице уже есть строки с total_amount < 100, СУБД выдаст ошибку.
🔥 Так что,
CHECK — это встроенный «охранник» базы, предотвращающий ошибки ещё до попадания данных в аналитику или отчёты.Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍8🔥7
Сегодня напишем SQL-запрос, который покажет, какие персонажи выигрывают чаще всего. Пригодится, чтобы балансировать PvP, выявлять лучших героев и держать мету игры в здоровом состоянии.
В этой задаче:
• Считаем количество боёв и побед каждого героя;
• Рассчитываем процент побед;
• Строим топ-5 персонажей.
В итоге получаем инструмент для аналитики боёв и корректировки баланса игры.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍6🔥6
Разворот строк в колонки без оператора PIVOT!
В SQL можно эмулировать сводные таблицы через конструкцию
Создадим таблицу и данные:
Пример разворота,
Если нужно посчитать итоги — ставим
🔥 Приём применяется, когда список колонок известен заранее и нужна статическая отчётная форма.
➡️ SQL Ready | #практика
В SQL можно эмулировать сводные таблицы через конструкцию
CASE + агрегатные функции.Создадим таблицу и данные:
CREATE TABLE Sales (
id INT,
region VARCHAR(20),
amount DECIMAL(10,2)
);
INSERT INTO Sales VALUES
(1, 'North', 100.00),
(2, 'South', 200.00),
(3, 'West', 150.00),
(4, 'North', 120.00);
Пример разворота,
CASE выделяет значения по условию, а агрегатная функция сводит их в колонку. Здесь используется MAX, поэтому для North берётся 120 (максимум):SELECT
MAX(CASE WHEN region = 'North' THEN amount END) AS North,
MAX(CASE WHEN region = 'South' THEN amount END) AS South,
MAX(CASE WHEN region = 'West' THEN amount END) AS West
FROM Sales;
Если нужно посчитать итоги — ставим
SUM вместо MAX:SELECT
SUM(CASE WHEN region = 'North' THEN amount ELSE 0 END) AS North,
SUM(CASE WHEN region = 'South' THEN amount ELSE 0 END) AS South,
SUM(CASE WHEN region = 'West' THEN amount ELSE 0 END) AS West
FROM Sales;
🔥 Приём применяется, когда список колонок известен заранее и нужна статическая отчётная форма.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5🤝5❤2
В этой шпаргалке собраны ключевые команды для работы с инфраструктурой базы данных: создание и удаление схем, построение представлений и управление индексами. Они применяются при проектировании архитектуры, оптимизации запросов и организации чистой структуры данных.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤8🔥5