В прошлой статье мы разобрали решение 6 задачи. Сейчас же перепрыгнем сразу на десятую, т.к. в 7, 8, и 9 нет ничего принципиально интересного или нового (разве что, в восьмой используется оператор для расчета разницы между двумя datetime-переменными TIMEDIFF(t.time_in, t.time_out) AS flight_time). Задача - Вывести вылеты, совершенные с 10 ч. по 14 ч. 1 января 1900 г.
Задачка, казалось бы, пустяковая. Но хочу остановиться на одном моменте. По опыту проведения тестовых заданий, 7 из 10 человек в подобной задаче напишут запрос подобного вида:
SELECT * FROM Trip AS t WHERE t.time_out BETWEEN '1900-01-01 10:00' AND '1900-01-01 14:00' (Спойлер - это в том числе является правильным ответом). И у меня всегда возникает вопрос, зачем использовать BETWEEN? В задаче, где речь пойдет не о датах, а о числовых значениях (вывести, например, всех людей с кол-вом заказов от 5 до 10), те же самые люди и не вспомнят о BETWEEN, а обойдутся больше/меньше/больше или равно/меньше или равно.
Чем неудоб