nisfarm.ru

Mezi SQL: příklady, popis

Při práci s relačními databázemi, ve kterých jsou data uložena v tabulkové podobě, uživatelé často čelí úkolu vzorkování hodnot, které jsou zahrnuty (nejsou součástí) v určitém rozsahu. Jazyk SQL vám umožňuje zadat sadu, podle které by hodnota neměla (by) patřit různým možnostem - operátor In, operátor Like, kombinace podmínek je méně a také operátor SQL Mezi. Popis a příklady v tomto článku budou věnovány druhé možnosti.

Operátor "Mezi" v jazyce SQL: syntaxe, omezení

Operátor mezi SQL je doslovně přeložen "mezi". Jeho použití umožňuje nastavit omezení "Od a do" na konkrétní pole a pokud další hodnota spadá do rozsahu, bude predikát "True" a hodnota skončí v konečném výběru.

mezi sql

Syntaxe operátora je velmi jednoduchá:

Zvolte *

Z tabulky t1

Kde t1.n mezi 0 a 7

Jak je vidět, po klíčovém slově mezi tím je nutné zadat hodnotu dolní hranice rozsahu, pak AND a hodnotu horní hranice.

Seznamte se s typy dat, s nimiž operátor SQL může pracovat:

  1. S čísly - celé a částečné.
  2. S daty.
  3. S textem.

Tento operátor mezi SQL má určité funkce. Seznamte se s nimi:

  1. Při práci s čísly a daty jsou ve vzorku zahrnuty hodnoty "From and To".
  2. Hodnota dolní hranice rozsahu by měla být menší než hodnota horní hranice, jinak nebude nic vydáno, protože podmínka je logicky nepravdivá. Zvláštní pozornost je třeba věnovat tomu, aby proměnné byly zahrnuty do podmínek namísto specifických hodnot.

Při práci s textem nebude hodnota horní hranice rozsahu zahrnutá do vzorku, pokud není specifikována s extrémní přesností. V následujících částech budeme tato funkce brát v úvahu podrobněji.

Výběr čísel a dat v určitém rozsahu

Připravte tabulku s údaji o manažerech pracujících v organizaci. Tabulka bude mít následující strukturu:

Název pole

Typ dat

Popis

Kód

Počítadlo

Unikátní ID zaměstnance

Příjmení

Text

Příjmení zaměstnance

Jméno

Text

Jméno zaměstnance

Střední jméno

Text

Patronymik zaměstnance

Sex

Text

Zaměstnanecký sex (M / F)

Datum příjmu

Datum / čas

Datum přijetí zaměstnance za práci

Počet dětí

Číselné

Počet dětí od zaměstnance

Vyplňte tabulku s následujícími údaji:

Kód

Příjmení

Jméno




Střední jméno

Sex

Datum příjmu

Počet dětí

1

Alexandrova

Irina

Nikolaevna

F

05/01/2014

1

2

Borovoy

Andrei

Stepanovich

M

21.2.2013

0

3

Vinogradov

Sergey

Pavlovich

M

15. 5. 1998

1

4

Shumilin

Alexander

Borisovič

M

25.12.2004

2

5

Vishnyakov

Leonid

Alexandrovich

M

09.10.2007

0

6.

Tropnikov

Vasily

Sergejevič

M

01/12/2016

3

7.

Perly

Nikita

Vasilevič

M

01/11/2017

1

8.

Avdeev

Nika

Konstantinovna

F

31.03.2001

2

9.

Jakovlev

Leonid

Nikolayevich

M

16.02.2009

0

Budeme komponovat dotaz SQL mezi, což nám pomůže vybrat si všechny zaměstnance se 2 nebo 3 dětmi:

SELECT Manažeři. *

Z manažerů

WHERE Managers.Number dětí mezi 2 a 3 roky

Výsledkem budou tři řádky s údaji o zaměstnancích se jmény Shumilin, Tropnikov a Avdeeva.

sql požadavek mezi

Nyní vybereme zaměstnance přijaté od 1. ledna 2005 do 31. prosince 2016. Je třeba poznamenat, že různé DBMS mohou být psány různými způsoby, pokud jde o datum. Ve většině případů datum jednoduše vede k formu den-měsíc-rok (nebo jako pohodlnější) a je napsán v jednoduchých nebo dvojitých uvozovkách. V DBMS MS Access datum je zadáno jako "#". Provedeme příklad jen na jeho základě:

SELECT Manažeři. *, Managers.Date-recepce

Z manažerů

WHERE Manažeři. Date_receive Mezi # 1/1/2005 # # # 31/12/2016 #

Výsledkem bude pět zaměstnanců najatých za stanovené období, včetně.

Dále uvidíme, jak funguje SQL s řetězci.

Pracujte mezi řádky

Velmi častým úkolem, se kterým je třeba se zabývat při práci s jmény zaměstnanců, je potřeba vybrat pouze ty, jejichž jména začínají určitým písmenem. Pokusíme se také splnit požadavek a vybrat zaměstnance, jejichž jména začínají příjmením od A do B:

SELECT Manažeři. *

Z manažerů

WHERE Manažeři Příjmení mezi "A" a "B"

OBJEDNÁVKA DO 2

Výsledkem je následující:

Kód

Příjmení

Jméno

Střední jméno

Sex

Datum příjmu

Počet dětí

8.

Avdeev

Nika

Konstantinovna

F

31.03.2001

2

1

Alexandrova

Irina

Nikolaevna

F

05/01/2014

1

2

Borovoy

Andrei

Stepanovich

M

21.2.2013

0

Jak vidíte, dva zaměstnanci, kteří mají příjmení s písmenem B, nejsou v seznamu. Jaký je důvod pro to? Otázkou je, jak přesně operátor porovnává řádky s nerovnou délkou. Řádek "B" je kratší než linka "Vinogradov" a je doplněna mezerami. Ale při třídění v abecedním pořadí budou mezery vedoucími symboly a jméno nebude ve vzorku zahrnuto. Různé DBMS nabízejí různá řešení tohoto problému, ale často je nejjednodušší označit následující písmeno abecedy v rozsahu:

SELECT Manažeři. *

Z manažerů

WHERE Manažeři Jméno mezi písmeny "A" a "G"

OBJEDNÁVKA DO 2

Po provedení dotazu nás výsledek zcela uspokojí.

sql mezi popisem

Taková nuance existuje pouze při práci s daty o znaku, ale ukazuje, že při práci s takovými jednoduchými operátory jako mezi, musí být opatrný.

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru