Получение операций пользователя по номеру телефона и ограничению суммы

Соедините users, accounts и operations по ключам, затем отберите телефон и amount > 2. Сравнение строгое: операция ровно на 2 маната не подходит.

Короткий ответ

Что ответить на собеседовании

Соедините users, accounts и operations по ключам, затем отберите телефон и amount > 2. Сравнение строгое: операция ровно на 2 маната не подходит.

Подробный разбор

Ответ с пояснениями

Условие

Задача: вывести идентификатор операции и её сумму (operation_id, amount) для всех записей, где пользователь имеет телефон +994555551234 и сумма операции превышает 2 маната.

В базе присутствуют три таблицы:

users с колонками user_id, phone, name, age, email accounts с колонками account_id, user_id, created_by, changed_by operations с колонками account_id, amount, operation_time, operation_id

Ответ

Соедините users, accounts и operations по ключам, затем отберите телефон и amount > 2. Сравнение строгое: операция ровно на 2 маната не подходит.

Если amount хранится в манатах:

SELECT o.operation_id, o.amount
FROM users u
JOIN accounts a ON a.user_id = u.user_id
JOIN operations o ON o.account_id = a.account_id
WHERE u.phone = '+994555551234'
  AND o.amount > 2;

Телефон — строка, а не число. Если суммы хранятся в минимальных единицах, порог нужно перевести в них. При пользовательском вводе телефон передают параметром запроса, не склеивают SQL. DISTINCT без причины не нужен.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее