🔵 Найти дубликаты
SELECT email, COUNT(*)
FROM users
GROUP BY email
HAVING COUNT(*) > 1;
🔵 Найти NULL в обязательных полях
SELECT *
FROM orders
WHERE customer_id IS NULL
OR total_amount IS NULL;
🔵 Проверить ссылочную целостность
SELECT o.id
FROM orders o
LEFT JOIN users u ON o.user_id = u.id
WHERE u.id IS NULL;
🔵 Найти заказы без товаров
SELECT o.id
FROM orders o
LEFT JOIN order_items oi ON o.id = oi.order_id
WHERE oi.id IS NULL;
🔵 Проверить соответствие суммы заказа
SELECT o.id,
o.total_amount,
SUM(oi.price * oi.quantity) AS calculated
FROM orders o
JOIN order_items oi ON o.id = oi.order_id
GROUP BY o.id, o.total_amount
HAVING o.total_amount <> SUM(oi.price * oi.quantity);
🔵 Найти пустые строки (не NULL)
SELECT *
FROM users
WHERE TRIM(name) = '';
🔵 Найти дубликаты по составному ключу
SELECT user_id,
product_id,
COUNT(*)
FROM favorites
GROUP BY user_id, product_id
HAVING COUNT(*) > 1;
🔵 Посмотреть последние записи
SELECT *
FROM audit_log
ORDER BY created_at DESC
LIMIT 20;
🔵 Найти записи за последние 24 часа
SELECT *
FROM logs
WHERE created_at >= NOW() - INTERVAL '24 hours';
Для других СУБД синтаксис работы с датой может отличаться.
🔵 Найти пользователей без заказов
SELECT u.id, u.email
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE o.id IS NULL;
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#артефакт