Между SQL: примери, описание
Когато работите с релационни бази данни, в които данните се съхраняват в таблична форма, потребителите често са изправени пред задачата за вземане на проби от стойности, които са включени (не са включени) в определен диапазон. Езикът на SQL ви позволява да зададете наборът, че стойността не трябва да принадлежи на различните опции - операторът In, операторът Like, комбинацията от условия е по-малко, а също и SQL оператора Between. Описанието и примерите в тази статия ще бъдат посветени на втория вариант.
съдържание
Операторът "Between" в SQL: синтаксис, ограничения
Операторът между SQL е буквално преведен "между". Използването му ви позволява да зададете ограничение "От и за" до определено поле и ако следващата стойност попада в диапазона, предсказанието ще бъде "True" и стойността ще завърши в крайната селекция.
Синтаксисът на оператора е изключително прост:
Изберете * От таблица t1 Където t1.n между 0 и 7 |
Както можете да видите, след ключовата дума между това е необходимо да посочите стойността на долната граница на диапазона, тогава AND и стойността на горната граница.
Нека да изброим видовете данни, с които SQL операторът може да работи:
- С номера - цяло число и частично.
- С дати.
- С текста.
Даденият оператор между SQL има определени функции. Да се запознаем с тях:
- При работа с номера и дати, стойностите на ограниченията "От и за" са включени в извадката.
- Стойността на долната граница на диапазона трябва да бъде по-малка от стойността на горната граница, в противен случай нищо няма да се изведе, защото условието логически не е вярно. Особено внимание трябва да се обърне, когато променливите са включени в условието вместо конкретни стойности.
При работа с текст стойността на горната граница на диапазона няма да бъде включена в извадката, освен ако не е посочена с изключителна точност. В следващите раздели ще разгледаме тази функция по-подробно.
Изборът на номера и дати в определен диапазон
Подгответе таблица с данни за мениджърите, работещи в организацията. Таблицата ще има следната структура:
Име на поле | Тип данни | описание |
код | брояч | Уникален идентификационен номер на служител |
Фамилно име | текст | Фамилно име на служителя |
име | текст | Име на служителя |
Средно име | текст | Патронимик на служителя |
Paul | текст | Сексът на служителите (M / F) |
Дата на приемане | Дата / Час | Дата на получаване на служителя за работа |
Брой деца | номер | Брой деца от служителя |
Попълнете таблицата със следните данни:
код | Фамилно име | име | Средно име | Paul | Дата на приемане | Брой деца |
1 | Александров | Irene | Н. | F | 05.01.2014 | 1 |
2 | Боровой | Андрю | S. | М | 21.09.2013 | 0 |
3 | Виноградов | Сергей | Павлович | М | 15.06.1998 | 1 |
4 | Shumilin | Александър | Б. | М | 12.25.2004 | 2 |
5 | Вишняков | Леонид | А. | М | 09.10.2007 | 0 |
6 | Tropnikov | Василий | S. | М | 01.12.2016 | 3 |
7 | перли | Никита | V. | М | 01.11.2017 | 1 |
8 | Авдеева | Nick | К. | F | 31.03.2001 г. | 2 |
9 | Яковлев | Леонид | Николаевич | М | 16.02.2009 | 0 |
Ние ще композираме sql заявка между тях, което ще ни помогне да изберем всички служители с 2 или 3 деца:
SELECT мениджъри. * От мениджъри Къде са мениджърите. Брой деца между 2 и 3 години |
Резултатът ще бъде три реда с данни за служителите с имената на Шумилин, Тропников и Аведева.
Сега ще изберем приетите служители от 1 януари 2005 г. до 31 декември 2016 г. Трябва да се отбележи, че различните СУБД могат да бъдат написани по различни начини по отношение на датата. В повечето случаи датата просто води до формите ден-месец-година (или като по-удобна) и е написана в единични или двойни котировки. В СУБД MS Access датата се въвежда като "#". Ще направим пример само въз основа на него:
SELECT Мениджъри. *, Мениджъри.Дей-рецепция От мениджъри Къде са мениджърите. Date_receive Между # 1/1/2005 # И # 31/12/2016 # |
Резултатът ще бъде пет наети, наети за определения период, включително.
След това нека видим как SQL работи с низове.
Работете между линиите
Много често срещаната задача, с която трябва да се работи, когато работите със имена на служители, е необходимостта да изберете само онези, чиито имена започват с определено писмо. Също така ще се опитаме да изпълним искането и да изберем служители, чиито имена започват с фамилното име от А до Б:
SELECT мениджъри. * От мениджъри Къде са мениджърите Фамилията между "А" и "Б" ПОРЪЧАЙ ОТ 2 |
Резултатът е следният:
код | Фамилно име | име | Средно име | Paul | Дата на приемане | Брой деца |
8 | Авдеева | Nick | К. | F | 31.03.2001 г. | 2 |
1 | Александров | Irene | Н. | F | 05.01.2014 | 1 |
2 | Боровой | Андрю | S. | М | 21.09.2013 | 0 |
Както можете да видите, двама служители, които имат фамилно име с буквата "Б", не са включени в списъка. Каква е причината за това? Въпросът е как точно операторът сравнява линии с неравномерна дължина. Линията "В" е по-къса от линията "Виноградов" и е допълнена с интервали. Но при сортиране по азбучен ред пространствата ще бъдат водещи символи и името няма да бъде включено в извадката. Различните СУБД предлагат различни решения на този проблем, но често е най-лесно да посочите следната буква от азбуката в диапазона:
SELECT мениджъри. * От мениджъри Къде са мениджърите Името между "А" и "G" ПОРЪЧАЙ ОТ 2 |
Когато заявката бъде изпълнена, резултатът напълно ще ни задоволи.
Такъв нюанс съществува само при работа с данни за знаците, но показва, че когато работите с дори такива прости оператори, между които трябва да внимавате.
- Изборът (SQL)
- Coalesce sql: описание, използване, примери
- Основни SQL изрази
- Как да съставя SQL заявки - подробни примери
- MySQL изберете от select: оператора за вземане на проби
- С SQL: описание, синтаксис, примери
- "Клопки" на DML команди Актуализиране на MySQL
- SQL Къде: методи на прилагане и примери
- SQL statement INNER JOIN: примери, синтаксис и функции
- Какво прави функцията SQL CONCAT?
- Функцията за създаване на таблица в SQL - Създаване на таблица
- Функция за табулация: как да напиша програма?
- Оператор на заданието в "Pascal": какво е предназначено, какви действия се изпълняват
- Уравнението на регресията
- Как мога да разбера останалата част от трафика на "Tele2"?
- Деклариране на SQL: описание. Transact-SQL
- Vlookup Excel: как да използвате (примери)
- Изтриване на MySQL дубликати
- Потребителски файл crontab: примери, описание и отзиви
- Информация за това как да отключите SIM картата MTS.
- Как мога да проверя остатъка от минутите по MTS "по няколко начина?