/ / Medzi SQL: príklady, popis

Medzi SQL: príklady, popis

Pri práci s relačnými DBMS, v ktorých dátaAk sú používatelia uložení v tabuľkovej forme, často čelia úlohe výberu hodnôt, ktoré sú v určitom rozsahu zahrnuté (nie sú súčasťou). Jazyk SQL vám umožňuje určiť množinu, ktorá by (nemala) patriť k hodnote s rôznymi možnosťami - operátor In, operátor Like, kombinácia podmienok viac - menej a tiež operátor SQL medzi operátormi. Popis a príklady v tomto článku sa zameriavajú na druhú možnosť.

SQL medzi operátormi: syntax, obmedzenia

Doslovne je operátor medzi SQL preložený nasledovne -"Medzi". Jeho použitie vám umožňuje nastaviť obmedzenie „Od a do“ na konkrétne pole, a ak ďalšia hodnota spadne do rozsahu, potom predikát vezme hodnotu „True“ a hodnota bude spadať do konečného výberu.

medzi sql

Syntax operátora je veľmi jednoduchá:

Vyberte *

Z tabuľky t1

Kde t1.n medzi 0 a 7

Ako vidíte, po kľúčovom slove medzi musíte zadať hodnotu dolného okraja rozsahu, potom AND a hodnotu horného okraja.

Uveďme si, s akými typmi údajov môže operátor SQL pracovať:

  1. S číslami - celé a zlomkové.
  2. S dátumami.
  3. S textom.

Toto medzi operátorom SQL má určité zvláštnosti. Poďme sa s nimi zoznámiť:

  1. Pri práci s číslami a dátumami sú do výberu zahrnuté obmedzenia Od a Do.
  2. Spodná hranica rozsahu musí byťmenšia ako hodnota hornej hranice, inak sa nič nezobrazí, pretože podmienka je logicky nesprávna. Musíte byť obzvlášť opatrní, keď sú v podmienke zahrnuté premenné namiesto konkrétnych hodnôt.

Pri práci s textom sa do výberu nezaradí hodnota hornej hranice rozsahu, ak nie je zadaná čo najpresnejšie. V nasledujúcich častiach sa budeme touto funkciou zaoberať podrobnejšie.

Vzorkovanie čísel a dátumov v konkrétnom rozsahu

Pripravme si tabuľku s údajmi o manažéroch pracujúcich v organizácii. Tabuľka bude mať nasledujúcu štruktúru:

Názov poľa

Dátový typ

popis

kód

Počítadlo

Jedinečný identifikátor zamestnanca

priezvisko

Text

Priezvisko zamestnanca

Krstné meno

Text

Meno zamestnanca

stredné meno

Text

Patronymia zamestnanca

Paul

Text

Pohlavie zamestnanca (M / Ž)

Dátum prijatia

Dátum Čas

Dátum prijatia zamestnanca

Počet_detí

Číselné

Počet detí, ktoré má zamestnanec

Vyplňte tabuľku nasledujúcimi údajmi:

kód

priezvisko

Krstné meno

stredné meno

Paul

Dátum prijatia

Počet_detí

1

Alexandrova

Irina

Nikolajevna

F

01.05.2014

1

2

Borovoy

Andrei

Stepanovič

M

21.09.2013

0

3

Vinogradov

Sergei

Pavlovič

M

15.06.1998

1

4

Shumilin

Alexander

Borisovič

M

25.12.2004

2

5

Višňakov

Leonid

Aleksandrovič

M

09.10.2007

0

6

Tropnikov

Bazalka

Sergejevič

M

12.01.2016

3

7

Perly

Nikita

Vasilevič

M

11.01.2017

1

8

Avdeeva

Nika

Konštantinovna

F

31.03.2001

2

9

Jakovlev

Leonid

Nikolajevič

M

16.02.2009

0

Poďme zostaviť dotaz sql medzi, ktorý nám pomôže vybrať všetkých zamestnancov s 2 alebo 3 deťmi:

VYBERTE manažérov. *

OD manažérov

WHERE Manažéri. Deti od 2 do 3

Výsledkom budú tri riadky s údajmi o zamestnancoch s menami Shumilin, Tropnikov a Avdeeva.

sql dotaz medzi

Teraz vyberieme zamestnancov prijatých k 1. januáru2005 do 31.12.2016. Treba poznamenať, že rôzne DBMS vám umožňujú zapisovať dátumy v podmienkach rôznymi spôsobmi. Vo väčšine prípadov je dátum jednoducho nútený previesť na deň-mesiac-rok (alebo čokoľvek, čo je vhodnejšie) a napísať ho v jednoduchých alebo dvojitých úvodzovkách. V MS Access je dátum ohraničený znakom „#“. Uveďme si na základe toho príklad:

SELECT Managers. *, Managers.Reception_Date

OD manažérov

WHERE Manažéri. Reception_Date Between # 1/1/2005 # A # 31/12/2016 #

Výsledkom bude päť zamestnancov prijatých v určenom období vrátane.

Ďalej sa pozrime, ako medzi SQL pracuje s reťazcami.

Práca medzi tým so strunami

Veľmi častá úloha, ktorú musíte vyriešiťpri práci s menami zamestnancov je potrebné vyberať len tých, ktorých mená začínajú na určité písmeno. Skúsme a splníme požiadavku a vyberieme zamestnancov, ktorých priezviská začínajú priezviskami od A po B:

VYBERTE manažérov. *

OD manažérov

WHERE Manažéri. Priezvisko medzi „A“ a „B“

OBJEDNAJTE DO 2

Výsledok je nasledovný:

kód

priezvisko

Krstné meno

stredné meno

Paul

Dátum prijatia

Počet_detí

8

Avdeeva

Nika

Konštantinovna

F

31.03.2001

2

1

Alexandrova

Irina

Nikolajevna

F

01.05.2014

1

2

Borovoy

Andrei

Stepanovič

M

21.09.2013

0

Ako vidíte, dvaja zamestnanci s priezviskompísmeno B nebolo zaradené do zoznamu. aký je na to dôvod? Ide o to, ako presne operátor porovnáva reťazce nerovnakej dĺžky. Riadok "B" je kratší ako riadok "Vinogradov" a je vyplnený medzerami. Ale pri abecednom triedení sa medzery ukážu ako vedúce znaky a priezvisko nebude zahrnuté do výberu. Rôzne DBMS ponúkajú rôzne riešenia tohto problému, ale často je najjednoduchšie špecifikovať nasledujúce písmeno abecedy v rozsahu pre spoľahlivosť:

VYBERTE manažérov. *

OD manažérov

WHERE Manažéri. Priezvisko medzi „A“ a „D“

OBJEDNAJTE DO 2

Pri vykonaní tohto dotazu nás výsledok úplne uspokojí.

sql medzi popisom

Takáto nuansa existuje iba pri práci so symbolickými údajmi, ale ukazuje, že pri práci aj s takými jednoduchými operátormi, ako je medzi, treba byť opatrný.

páčilo sa:
0
Populárne príspevky
Duchovný rozvoj
jedlo
y