Kada se radi o relacijskim DBMS-ima, u kojima se podaci pohranjuju u tabličnom obliku, korisnici često susreću zadatak odabira vrijednosti koje su uključene (nisu uključene) unutar određenog raspona. SQL jezik vam omogućuje da odredite skup koji ima (ne) ima vrijednosti različitih varijanti - operator In, operater Like s kombinacijom uvjeta više - manje, i izraz Between. Opis i primjeri u ovom članku bit će posvećeni najnovijoj verziji.
Operator "Inter" u SQL-u: sintaksa, ograničenje
Odaberite * Iz tablice t1 Gdje t1.n između 0 i 7
Kao što možete vidjeti, nakon ključne riječi između, morate odrediti vrijednost donje granice raspona, a zatim AND i vrijednost gornje granice. Nabrojimo, s kojim vrstama podataka može raditi izraz između SQL-a:
Odabir brojeva i datuma u određenom rasponu
Naziv polja
Tip podataka
Opis
33)
Kod
Brojilo
Jedinstveni identifikator zaposlenika
Prezime
Tekst
Prezime zaposlenika
ime
) Tekst
Ime poslodavca
Paternal
Tekst
)
Otac - pasivno
Podovi
Tekst
Datum /vrijeme
Datum zaposlenja zaposlenika u Posao
Broj djece
Broj
Broj djece iz zaposlenika
Ispunite Tablica se temelji na sljedećim podacima:
Kod
Prezime
Ime
) Nadnice
Sprat
Datum usvajanja
Broj djece
1
Alexandrova
Irina
01052014
174) 2
Borovyy
Andrij
Stepanović
M
) 2092 203
Vinogradov
Pavlovich
15061998
225)
1
4
shumilin
Aleksandar
)
Borisovich
M
25122004
2
5
Vishnyakov
Leonid
Oleksandrovich 271)
M
(2 76
Tropnikov
)
Vasyl
Sergeevich
M
12012016
3
7
perel
Nikita
Vasilievich
M
11012017
8
Avdeev
Nika
353)
Konstantinovna
31032001
2
9
Jakovlev
)
0
Izradit ćemo između njih sql upit koji će nam pomoći odabrati sve zaposlenike s 2 ili 3 djece:
SELECT upravitelji. Broj djece između 2 i 3 godine
Rezultat će biti tri retka s podacima o zaposlenicima s imenima Shumilin, Tropnikov i Avdeyev.
SELECT upravitelji. *, Upravitelji Datum primanja iz upravitelja. Datum prijema između # 1/2005 # i # 31/12/2016 #
Rezultat će biti pet zaposlenika uključenih u navedeno razdoblje. Zatim, da vidimo kako radi između nizova sa SQL-om.
Raditi s nizovima
SELECT upravitelji. * IZ Upravitelja WHERE Upravitelji Ime između "A" i "B" NARUDŽBA 2
412) Rezultat je sljedeći:
Kod
Prezime
Ime
426)
Kat
Datum usvajanja
Broj djece
441)
8
Avdeyev
Nika
Konstantinovna
)
F
31032001
63
2
Alexandrova
2
Andrija
509)
Stepanovich
M
21092013
0
) Kao što vidimo, dva zaposlenika s prezimenom slova "U" nisu se našla na popisu. S čime je to povezano? Činjenica je, na koji način operater uspoređuje redove neujednačene duljine. Linija "B" je kraća od linije "Vinogradov" i nadopunjena je prostorom. Ali kada se sortiraju po abecedi, praznine će biti ispred znakova, a prezime neće pasti u uzorak. Različiti DBMS-ovi nude različita rješenja za ovaj problem, ali često je lakše naznačiti sljedeće slovo abecede u rasponu:
SELECT upravitelji. * IZ Upravitelja WHERE Upravitelji Ime između "A" i "G" ORDER BY 2
U ispunjavanju ovog zahtjeva, rezultat će biti potpuno zadovoljan.
Takva nijansa postoji samo kada se radi sa simboličkim podacima, ali to pokazuje da kada radimo čak i sa tako jednostavnim operatorima kao između, moramo biti oprezni.