Компютри, Програмиране
Между SQL: Примери Описание
Когато се работи с релационна база данни, в която данните се съхраняват в таблици, потребителите често са изправени пред задачата да ценности за вземане на проби, включени (не са включени) в определен диапазон. SQL език ви позволява да дефинирате множество, което трябва (не трябва) да принадлежат на стойността на различни варианти - оператор в, като оператор, комбинация от условия, повече - по-малко, както и SQL за Между оператор. Описание и примери в тази статия ще се фокусира върху най-новата версия.
"Между" оператор в SQL: ограничения Синтаксис
Буквално оператор между SQL и преведено - "между тях". Използването му дава възможност да се определи срок ", а от" дадена област, и ако на следващата стойност попада в диапазона, а след сказуемото ще бъде настроен на "True", а стойността ще падне в крайната проба.
Синтаксисът на оператора е изключително проста:
Изберете * От таблица t1 Когато t1.n между 0 и 7 |
Както можете да видите, след ключовата дума между вас трябва да определи стойността на долната граница, а след това и, а горната граница.
Изброяват, какви типове данни на оператора могат да работят между SQL:
- С номера - число и фракционна.
- С дати.
- С текст.
Направете това между SQL изявление има някои особености. Ние се запознайте с тях:
- Когато се работи с номерата и датите на гранични стойности "и от" са включени в извадката.
- По-ниска стойност от време трябва да бъде по-малко от горната граница, в противен случай нищо няма да се появи, защото състоянието не е логично вярно. Специално внимание трябва да бъде, когато, вместо да се включват конкретни стойности при променливите на състоянието.
При работа с текст стойност на горния диапазон не е включен в извадката, ако не е определено много точно. Ние считаме, че тази функция в следните раздели в детайли.
Примерни номера и дати в определен диапазон
Подгответе маса с мениджърите на данни, работещи в организацията. Таблицата ще има следната структура:
име на поле | тип данни | описание |
код | брояч | Уникален идентификационен номер на служител |
фамилно име | текст | Име на служител |
име | текст | име на служител |
бащино име | текст | бащиното служител |
Paul | текст | Секс персонал (М / Ж) |
Data_priema | Дата / час | Дата на получаване на работника или служителя на работа |
Chislo_detey | номер | Брой деца на служителя |
Попълнете в таблицата със следните данни:
код | фамилно име | име | бащино име | Paul | Data_priema | Chislo_detey |
1 | Александров | Irene | Н. | F | 05.01.2014 | 1 |
2 | Боровой | Андрю | S. | М | 09.21.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. | М | 11.01.2017 | 1 |
8 | Авдеева | Nick | К. | F | 31.03.2001 г. | 2 |
9 | Яковлев | Леонид | Николаевич | М | 16.02.2009 | 0 |
Оформете заявката SQL между, което ще ни помогне, за да изберете всички служители, които имат 2 или 3 деца:
SELECT мениджъри. * ОТ Мениджъри КЪДЕТО Menedzhery.Chislo_detey между 2 и 3 |
Резултатът ще бъде три реда с данни за служителите с фамилните имена Shumilin, Tropnikov и Авдеева.
Сега изберете служителите получават от 1 януари 2005 г. до 31 декември 2016. Трябва да се отбележи, че различните бази данни по различни начини дават възможност за записване по дати. В повечето случаи, датата на сила върху формуляр ден-месечен период (или по-удобно) и се записва в единични или двойни кавички. СУБД MS Access датата съдържа знака "#". Изпълнете този пример е само въз основа на него:
SELECT мениджъри. * Menedzhery.Data_priema ОТ Мениджъри КЪДЕ мениджъри. Data_priema за периода 01.01.2005 # # И # 31.12.2016 # |
Резултатът ще бъде пет служители, наети по време на периода, включително.
На следващо място, нека да видим как работи между SQL низове.
Работа в между струни
А много често срещан проблем, който трябва да бъде решен, когато се работи с имената на работниците и служителите - е необходимостта да изберете само тези, чиито имена започват с определена буква. И ние се опитваме да изпълни заявката и изберете служители, чиито имена започват с фамилното име от А до точка Б:
SELECT мениджъри. * ОТ Мениджъри КЪДЕТО Menedzhery.Familiya между "А" и "В" ORDER BY 2 |
Резултатът е, както следва:
код | фамилно име | име | бащино име | Paul | Data_priema | Chislo_detey |
8 | Авдеева | Nick | К. | F | 31.03.2001 г. | 2 |
1 | Александров | Irene | Н. | F | 05.01.2014 | 1 |
2 | Боровой | Андрю | S. | М | 09.21.2013 | 0 |
Както можете да видите, не са били включени двете служителите с името на буквата Б в списъка. Каква е причината? Факт е, как точно оператора сравнява струни с нееднаква дължина. Line "Б" е по-кратък низ "Виноградов" и подплатени. Но при сортиране по азбучен ред пространства ще бъдат по-бързи герои, както и името на пробата няма да падне. Различни бази данни предоставят различни начини за решаване на този проблем, но често това е най-лесният начин да покаже на надеждността на следващата буква от азбуката в интервала:
SELECT мениджъри. * ОТ Мениджъри КЪДЕ Menedzhery.Familiya между "А" и "D" ORDER BY 2 |
Когато изпълнява, резултатният ще ни удовлетворява напълно.
Този нюанс съществува само когато се работи с данни характер, но това показва, че дори когато се работи с такива прости оператори като между, вие трябва да бъдете внимателни.
Similar articles
Trending Now