HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Ранее в курсе мы уже научились работать с запросами, в которых данные фильтруются по диапазону значений. Например, мы умеем фильтровать записи по диапазону дат создания пользователя:</p>
1 <p>Ранее в курсе мы уже научились работать с запросами, в которых данные фильтруются по диапазону значений. Например, мы умеем фильтровать записи по диапазону дат создания пользователя:</p>
2 <p><a>View on DB Fiddle</a></p>
2 <p><a>View on DB Fiddle</a></p>
3 <p>Но есть одна сложность - такое условие неудобно читать и писать. Нам приходится дважды указывать одно и то же имя поля, поэтому есть вероятность допустить опечатку или ошибиться в операторах "больше" и "меньше". Для этой задачи можно использовать более удобный оператор - BETWEEN. В этом уроке мы изучим, как он работает.</p>
3 <p>Но есть одна сложность - такое условие неудобно читать и писать. Нам приходится дважды указывать одно и то же имя поля, поэтому есть вероятность допустить опечатку или ошибиться в операторах "больше" и "меньше". Для этой задачи можно использовать более удобный оператор - BETWEEN. В этом уроке мы изучим, как он работает.</p>
4 <h2>Как фильтровать данные по диапазону</h2>
4 <h2>Как фильтровать данные по диапазону</h2>
5 <p>По сути, оператор BETWEEN - это сокращенная версия двух условий, соединенных через AND. Напишем запрос, который выбирает пользователей с датой рождения от 1 января до 1 февраля 2022 года:</p>
5 <p>По сути, оператор BETWEEN - это сокращенная версия двух условий, соединенных через AND. Напишем запрос, который выбирает пользователей с датой рождения от 1 января до 1 февраля 2022 года:</p>
6 <p><a>View on DB Fiddle</a></p>
6 <p><a>View on DB Fiddle</a></p>
7 <p>Теперь запишем диапазон дат через BETWEEN:</p>
7 <p>Теперь запишем диапазон дат через BETWEEN:</p>
8 <p><a>View on DB Fiddle</a></p>
8 <p><a>View on DB Fiddle</a></p>
9 <p>Во втором запросе мы использовали BETWEEN. Обратите внимание, чем отличаются два этих запроса:</p>
9 <p>Во втором запросе мы использовали BETWEEN. Обратите внимание, чем отличаются два этих запроса:</p>
10 <ul><li>В первом запросе крайние значения не входят в диапазон</li>
10 <ul><li>В первом запросе крайние значения не входят в диапазон</li>
11 </ul><ul><li>Во втором запросе - входят</li>
11 </ul><ul><li>Во втором запросе - входят</li>
12 </ul><p>Другими словами, эти два запроса не равнозначны. В первый диапазон не попадут пользователи с датой рождения 2022-01-01 или 2022-02-01.</p>
12 </ul><p>Другими словами, эти два запроса не равнозначны. В первый диапазон не попадут пользователи с датой рождения 2022-01-01 или 2022-02-01.</p>
13 <p>А теперь попробуем написать запрос, равнозначный запросу с BETWEEN. Для этого используем операторы сравнения:</p>
13 <p>А теперь попробуем написать запрос, равнозначный запросу с BETWEEN. Для этого используем операторы сравнения:</p>
14 <ul><li>&gt;= вместо &gt;</li>
14 <ul><li>&gt;= вместо &gt;</li>
15 <li>&lt;= вместо &lt;</li>
15 <li>&lt;= вместо &lt;</li>
16 </ul><p><a>View on DB Fiddle</a></p>
16 </ul><p><a>View on DB Fiddle</a></p>
17 <p>Такой запрос будет полностью равнозначен запросу с BETWEEN.</p>
17 <p>Такой запрос будет полностью равнозначен запросу с BETWEEN.</p>
18 <p>Представим, что нам нужно выбрать все записи, которые НЕ попадают в диапазон. Тогда мы добавляем оператор NOT:</p>
18 <p>Представим, что нам нужно выбрать все записи, которые НЕ попадают в диапазон. Тогда мы добавляем оператор NOT:</p>
19 <p><a>View on DB Fiddle</a></p>
19 <p><a>View on DB Fiddle</a></p>
20 <p>Такой запрос выведет всех пользователей, чьи даты рождения попадают в заданный диапазон - строго меньше 1 января или строго больше 1 февраля 2022 года.</p>
20 <p>Такой запрос выведет всех пользователей, чьи даты рождения попадают в заданный диапазон - строго меньше 1 января или строго больше 1 февраля 2022 года.</p>
21 <p>Обычно оператор BETWEEN используют для дат, но его можно применять и с числами:</p>
21 <p>Обычно оператор BETWEEN используют для дат, но его можно применять и с числами:</p>
22 <p><a>View on DB Fiddle</a></p>
22 <p><a>View on DB Fiddle</a></p>
23 <h2>Выводы</h2>
23 <h2>Выводы</h2>
24 <p>В этом уроке мы изучили оператор BETWEEN, который позволяет отфильтровать данные по диапазону. Это намного удобнее, чем использовать два условия "больше или равно" и "меньше или равно", это улучшает читаемость и понимание запроса. Нужно помнить, что BETWEEN включает в условие крайние значения из указанного диапазона.</p>
24 <p>В этом уроке мы изучили оператор BETWEEN, который позволяет отфильтровать данные по диапазону. Это намного удобнее, чем использовать два условия "больше или равно" и "меньше или равно", это улучшает читаемость и понимание запроса. Нужно помнить, что BETWEEN включает в условие крайние значения из указанного диапазона.</p>