SQL‑запрос для получения имён пользователей в возрастном диапазоне

Достаточно persons с условием age BETWEEN 18 AND 40. Обе границы включаются; таблицы счетов и транзакций для отбора по возрасту не нужны.

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

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

Достаточно persons с условием age BETWEEN 18 AND 40. Обе границы включаются; таблицы счетов и транзакций для отбора по возрасту не нужны.

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

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

Условие

Необходимо вывести имена людей, чей возраст находится в диапазоне от 18 до 40 лет. Имеются три таблицы:

  • persons с полями person_id, phone, name, age, email
  • client_accounts с полями account_id, person_id, created_by, changed_by
  • transactions с полями account_id, amount, transaction_time, transaction_id

Ответ

Достаточно persons с условием age BETWEEN 18 AND 40. Обе границы включаются; таблицы счетов и транзакций для отбора по возрасту не нужны.

Запрос:

SELECT name
FROM persons
WHERE age BETWEEN 18 AND 40;

NULL в age не проходит условие. Лишние JOIN могут размножить человека из-за нескольких счетов или транзакций. DISTINCT тоже не обязателен: он скрыл бы разных людей с одинаковым именем. Для исключения границ потребовались бы строгие сравнения, но это уже другой контракт.

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

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

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

Подробнее