/ / Tarp SQL: pavyzdžiai, aprašymas

Tarp SQL: pavyzdžiai, aprašymas

Kai dirbate su reliacine DBVS, kuriame duomenyssaugomi lentelių pavidalu, vartotojai dažnai susiduria su užduotimi pasirinkti vertes, kurios yra įtrauktos (neįtrauktos) į tam tikrą diapazoną. SQL kalba leidžia nurodyti rinkinį, kuris turėtų (neturėtų) priklausyti reikšmei su skirtingomis parinktimis - operatoriumi In, panašiu operatoriumi, sąlygų deriniu daugiau - mažiau, taip pat operatoriumi SQL Between. Šiame straipsnyje aprašyme ir pavyzdžiuose dėmesys bus sutelktas į pastarąją parinktį.

Tarp SQL teiginio: sintaksė, apribojimai

Paprasčiau tariant, tarp SQL teiginių yra išverstas -"Tarp". Jo naudojimas leidžia nustatyti apribojimą „Nuo ir iki“ tam tikram laukui, o jei kita reikšmė patenka į intervalą, predikatas ims reikšmę „Tiesa“, o vertė pateks į galutinį pasirinkimą.

tarp kv

Operatoriaus sintaksė yra labai paprasta:

Pasirinkite *

Iš t1 lentelės

Kur t1.n tarp 0 ir 7

Kaip matote, po raktinio žodžio turite nurodyti apatinės diapazono ribos vertę, tada AND ir viršutinės ribos vertę.

Išvardinkime, su kokiais duomenų tipais gali dirbti SQL operatorius:

  1. Su skaičiais - sveikasis ir trupmeninis.
  2. Su datomis.
  3. Su tekstu.

Tai tarp SQL operatoriaus turi tam tikrų ypatumų. Pažinkime juos:

  1. Dirbant su skaičiais ir datomis, į pasirinkimą įtraukiami apribojimai Nuo ir Iki.
  2. Apatinė diapazono riba turi būtimažesnė už viršutinės ribos vertę, kitaip nieko nebus rodoma, nes sąlyga logiškai neteisinga. Turite būti ypač atsargūs, kai į sąlygą vietoj konkrečių reikšmių įtraukiami kintamieji.

Dirbant su tekstu, diapazono viršutinės ribos vertė nebus įtraukta į pasirinkimą, jei ji nebus nurodyta kuo tiksliau. Tolesniuose skyriuose mes apsvarstysime šią funkciją išsamiau.

Atrankos numeriai ir datos konkrečiame diapazone

Paruoškime lentelę su duomenimis apie organizacijoje dirbančius vadovus. Lentelės struktūra bus tokia:

Lauko pavadinimas

Duomenų tipas

Aprašymas

Kodas

Skaitliukas

Unikalus darbuotojo identifikatorius

Pavardė

Tekstas

Darbuotojo pavardė

Vardas

Tekstas

Darbuotojo vardas

Antras vardas

Tekstas

Darbuotojo tėvavardis

Paulius

Tekstas

Darbuotojo lytis (M / F)

Čekio data

Data Laikas

Darbuotojo priėmimo į darbą data

Skaičius_vaikai

Skaitmeninis

Darbuotojo vaikų skaičius

Užpildykime lentelę šiais duomenimis:

Kodas

Pavardė

Vardas

Antras vardas

Paulius

Čekio data

Skaičius_vaikai

1

Aleksandrova

Irina

Nikolajevna

F

01.05.2014

1

2

Borovojus

Andrejus

Stepanovičius

M

21.09.2013

0

3

Vinogradovas

Sergejus

Pavlovičius

M

15.06.1998

1

4

Šumilinas

Aleksandras

Borisovičius

M

25.12.2004

2

5

Višnyakovas

Leonidas

Aleksandrovičius

M

09.10.2007

0

6

Tropnikovas

Bazilikas

Sergeevičius

M

12.01.2016

3

7

Perlai

Nikita

Vasilevičius

M

11.01.2017

1

8

Avdeeva

Nika

Konstantinovna

F

31.03.2001

2

9

Jakovlevas

Leonidas

Nikolajevičius

M

16.02.2009

0

Sudarykime SQL užklausą, kuri padės mums pasirinkti visus darbuotojus su 2 ar 3 vaikais:

PASIRINKITE valdytojus. *

IŠ vadovų

WHERE Vadybininkai. Vaiko numeris nuo 2 iki 3

Rezultatas bus trys eilutės su duomenimis apie darbuotojus, kurių vardai yra Šumilinas, Tropnikovas ir Avdeeva.

SQL užklausa tarp

Dabar atrinkime darbuotojus, priimtus dirbti sausio 1 d2005 m. - 2016 m. Gruodžio 31 d. Reikėtų pažymėti, kad skirtingos DBVS leidžia rašyti datas į sąlygas skirtingais būdais. Daugeliu atvejų data yra tiesiog priversta paversti dieną-mėnesį-metus (ar dar kas patogiau) ir rašyti viena arba dviem kabutėmis. „MS Access“ data įrašyta „#“ ženklu. Pateiksime pagal jį pateiktą pavyzdį:

PASIRINKITE valdytojus. *, Vadybininkus. Priėmimo data

IŠ vadovų

KUR vadovai. Reception_Date between # 1/1/2005 # and 2016/12/12 #

Rezultatas bus penki darbuotojai, įdarbinti per nurodytą laikotarpį, imtinai.

Tada pažiūrėkime, kaip tarp SQL veikia eilutės.

Darbas tarp jų su stygomis

Labai dažna užduotis, kurią turite išspręstidirbant su darbuotojų pavardėmis, reikia pasirinkti tik tuos, kurių pavardės prasideda konkrečia raide. Pabandykime ir mes įvykdysime užklausą ir atrinksime darbuotojus, kurių pavardės prasideda pavardėmis nuo A iki B:

PASIRINKITE valdytojus. *

IŠ vadovų

WHERE vadovai. Pavardė tarp „A“ ir „B“

UŽSAKYTI 2

Rezultatas yra toks:

Kodas

Pavardė

Vardas

Antras vardas

Paulius

Čekio data

Skaičius_vaikai

8

Avdeeva

Nika

Konstantinovna

F

31.03.2001

2

1

Aleksandrova

Irina

Nikolajevna

F

01.05.2014

1

2

Borovojus

Andrejus

Stepanovičius

M

21.09.2013

0

Kaip matote, du darbuotojai su pavarderaidė B nebuvo įtraukta į sąrašą. Kokia tai priežastis? Esmė ta, kaip tiksliai operatorius lygina nevienodo ilgio eilutes. „B“ linija yra trumpesnė už „Vinogradov“ liniją ir yra paminkštinta tarpais. Bet rūšiuojant abėcėlės tvarka, tarpai pasirodys kaip pagrindiniai simboliai, o pavardė nebus įtraukta į pasirinkimą. Skirtingos DBVS siūlo skirtingus šios problemos sprendimus, tačiau patikimumui dažnai lengviausia nurodyti šią abėcėlės raidę:

PASIRINKITE valdytojus. *

IŠ vadovų

WHERE vadovai. Pavardė tarp „A“ ir „D“

UŽSAKYTI 2

Vykdant šią užklausą rezultatas mus visiškai patenkins.

sql tarp aprašymo

Toks niuansas egzistuoja tik dirbant su simboliniais duomenimis, tačiau tai rodo, kad dirbant net su tokiais paprastais operatoriais kaip tarp jų, reikia būti atsargiems.

Patinka:
0
Populiarios žinutės
Dvasinė raida
Maistas
yup