muzruno.com

Между SQL: примери, описание

Когато работите с релационни бази данни, в които данните се съхраняват в таблична форма, потребителите често са изправени пред задачата за вземане на проби от стойности, които са включени (не са включени) в определен диапазон. Езикът на SQL ви позволява да зададете наборът, че стойността не трябва да принадлежи на различните опции - операторът In, операторът Like, комбинацията от условия е по-малко, а също и SQL оператора Between. Описанието и примерите в тази статия ще бъдат посветени на втория вариант.

Операторът "Between" в SQL: синтаксис, ограничения

Операторът между SQL е буквално преведен "между". Използването му ви позволява да зададете ограничение "От и за" до определено поле и ако следващата стойност попада в диапазона, предсказанието ще бъде "True" и стойността ще завърши в крайната селекция.

между sql

Синтаксисът на оператора е изключително прост:

Изберете *

От таблица t1

Където t1.n между 0 и 7

Както можете да видите, след ключовата дума между това е необходимо да посочите стойността на долната граница на диапазона, тогава AND и стойността на горната граница.

Нека да изброим видовете данни, с които SQL операторът може да работи:

  1. С номера - цяло число и частично.
  2. С дати.
  3. С текста.

Даденият оператор между SQL има определени функции. Да се ​​запознаем с тях:

  1. При работа с номера и дати, стойностите на ограниченията "От и за" са включени в извадката.
  2. Стойността на долната граница на диапазона трябва да бъде по-малка от стойността на горната граница, в противен случай нищо няма да се изведе, защото условието логически не е вярно. Особено внимание трябва да се обърне, когато променливите са включени в условието вместо конкретни стойности.

При работа с текст стойността на горната граница на диапазона няма да бъде включена в извадката, освен ако не е посочена с изключителна точност. В следващите раздели ще разгледаме тази функция по-подробно.

Изборът на номера и дати в определен диапазон

Подгответе таблица с данни за мениджърите, работещи в организацията. Таблицата ще има следната структура:

Име на поле

Тип данни

описание

код

брояч

Уникален идентификационен номер на служител

Фамилно име

текст

Фамилно име на служителя

име

текст

Име на служителя

Средно име

текст

Патронимик на служителя

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 години

Резултатът ще бъде три реда с данни за служителите с имената на Шумилин, Тропников и Аведева.

SQL заявка между

Сега ще изберем приетите служители от 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 между описанието

Такъв нюанс съществува само при работа с данни за знаците, но показва, че когато работите с дори такива прости оператори, между които трябва да внимавате.

Споделяне в социалните мрежи:

сроден