Read the book: «Качество каталога в SQL. 18 задач для карточек»

Глеб Зайцев
Font::

Перед первой задачей

Почему каталог надо проверять запросами

Когда товаров становится много, ручной просмотр карточек быстро перестаёт работать.

SQL помогает найти пустые поля, дубли, странные цены, нулевые остатки и слабые описания до того, как они съедят показы и конверсию.

Эта книга показывает простые проверки, которые можно адаптировать под любой табличный каталог.

Граница применимости

Техническая проверка не гарантирует продажи, но убирает очевидные причины провала карточки.

Пороги длины, цены и числа изображений должны задаваться бизнес-правилами, а не подгоняться под удобный результат.

Все примеры учебные и работают в SQLite без внешних файлов.

Маршрут по задачам

1. Найти товары без названия

2. Найти дубли SKU

3. Проверить товары без категории

4. Найти подозрительно короткие описания

5. Проверить отсутствие изображений

6. Найти карточки с малым числом изображений

7. Найти цены вне диапазона

8. Проверить нулевой остаток

9. Поймать одинаковые названия у разных SKU

10. Проверить пустые теги

11. Найти слишком длинные названия

12. Проверить конфликт цены и скидки

13. Проверить дубли изображений

14. Проверить товары без автора

15. Найти карточки с одинаковым описанием

16. Проверить длину артикула

17. Собрать общий счётчик проблем

18. Отобрать карточки без проблем

Практические задачи

Задача 1. Найти товары без названия

Рабочий вопрос

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

Данные

CREATE TABLE products(sku TEXT, title TEXT);

INSERT INTO products VALUES ('A1','Планер'),('B2',''),('C3',' ');

Запрос

SELECT sku

FROM products

WHERE trim(title) = ''

ORDER BY sku;

Ожидаемый результат

[["B2"], ["C3"]]

Почему работает

trim убирает пробелы по краям, после чего пустое название становится пустой строкой.

Запрос сделан на маленькой синтетической таблице, поэтому ответ можно проверить глазами и повторить в SQLite.

Явный ORDER BY или отдельная агрегация фиксируют смысл результата, а не оставляют его на случайный порядок строк.

Где легко ошибиться

Проверка title IS NULL нужна отдельно, если в данных возможны NULL, а не только пустые строки.

Самостоятельная проверка

Какие SKU проблемные? Объясните ответ по исходным строкам и условию запроса.

Ответ: B2 и C3. Это следует из исходных строк и условия запроса.

The free sample has ended.

Age restriction:
12+
Release date on Litres:
07 September 2026
Writing date:
2026
Volume:
13 p. 1 illustration
Copyright Holder::
Автор
Download format:

Similar books