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

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

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

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


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

Изберете * От таблица t1 Където t1.n между 0 и 7

Както можете да видите, след ключова дума между, трябва да посочите стойността на долната граница на обхвата, след това AND и стойността на горната граница. Нека изброим, с какви типове данни може да работи операторът между SQL:
  • С числа - цяло число и дробно.
  • С дати.
  • С текста.
  • Даденият оператор между 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 години

    Резултатът ще бъде три реда с данните за служителите с имената на Шумилин, Тропиков и Авдеев.
    Сега ще изберемСлужители, приети от 1 януари 2005 г. до 31 декември 2016 г. Трябва да се отбележи, че различни СУБД по различен начин ви позволява да записвате в условията на датата. В повечето случаи датата е просто принудена да изглежда като ден-месец-година (или като удобна) и записана в единични или двойни кавички. В MS Access MS Access датата се поставя върху знака "#". Направете пример само на базата му:


    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)
    При изпълнението на това искане резултатът ще бъде напълно удовлетворен от нас.
    Такъв нюанс съществува само при работа със символични данни, но показва, че когато работим дори с такива прости оператори като между тях, трябва да бъдем внимателни.

    Свързани публикации