Когато се занимават с релационни СУБД, в които данните се съхраняват в таблична форма, потребителите често срещат задача да изберат стойностите, които са включени (не са включени) в определен диапазон. SQL езикът ви позволява да зададете набор, който има (не) има стойности на различни варианти - операторът In, операторът Like с комбинация от условия повече - по-малко, и операторът Between. Описанието и примерите в тази статия ще бъдат посветени на последната версия.
Оператор "Интер" в SQL: синтаксис, ограничение
Изберете * От таблица t1 Където t1.n между 0 и 7
Както можете да видите, след ключова дума между, трябва да посочите стойността на долната граница на обхвата, след това AND и стойността на горната граница. Нека изброим, с какви типове данни може да работи операторът между SQL:
Избор на числа и дати в определен диапазон
Име на полето
Тип данни
Описание
33)
Код
Брояч
Уникален идентификатор на служител
Фамилия
Текст
Фамилия на служителя
име
) Текст
Име на работодателя
Баща
Текст
)
Родословие на бащата
Подови настилки
Текст
Дата /час
Дата на назначаване на служителя в Работа
Брой деца
брой
Брой деца от служител
попълване Таблицата е базирана на следните данни:
Код
Фамилия
име
) Отчество
Етаж
Дата на осиновяване
Брой деца
)
1
Александрова
Ирина
01052014
174) 2
Боровий
Андрий
Степанович
) 2092 203
Виноградов
Павлович
15061998
225)
1
4
Шумилин
Александър
)
Борисович
М
25122004
2
5
Вишняков
Леонид
Александров 271)
М
(2 76
тропиков
)
Васил
Сергеевич
12012016
3
7
Никита
Василиевич
М
11012017
8
Авдеев
Ника
353)
Konstantinovna
F
31032001
2
9
Яковлев
)
0
Ще създадем SQL заявка между нас, която ще ни помогне да изберем всички служители с 2 или 3 деца:
SELECT Мениджъри. Брой деца между 2 и 3 години
Резултатът ще бъде три реда с данните за служителите с имената на Шумилин, Тропиков и Авдеев.
SELECT Мениджъри. *, Мениджъри Дата на получаване от мениджъри от къде. Дата на приемане между # 1/1/2005 # И # 31/12/2016 #
Резултатът ще бъде петима служители, наети през посочения период включително. След това нека видим как работи между низове с SQL.
Работа между стринговете
SELECT Мениджъри. 412) Резултатът е следният:
Код
Фамилия
име
426) Ръководство
Етаж
Дата на осиновяване
Брой деца
441)
8
Авдеев
Ника
Константиновна
F
31032001
63
2
1
Александрова
2
Борови
Андрий
509)
Stepanovich
M
21092013
0
) Както виждаме, двама служители с фамилно име на буквата "U" не са се включили в списъка. С какво е свързан? Факт е, по какъв начин операторът сравнява редове с неравна дължина. Линията "В" е по-къса от линията "Виноградов" и е допълнена с пространства. Но при сортиране по азбука пропуските ще бъдат пред героите, а фамилията няма да попадне в извадката. Различните СУБД предлагат различни решения на този проблем, но често е по-лесно да се посочи следващата буква от азбуката в обхвата:
SELECT Мениджъри. 527)
При изпълнението на това искане резултатът ще бъде напълно удовлетворен от нас.