Duomenų atrinkimas po WHERE gali dominti, kurie yra tarp
kažko arba yra lygus atskiroms vertėms. Kelios sąlygos gali būti aprašytos su
sąlygomis AND arba OR. Visgi tokios SQL užklausos pasidaro labai ilgos ir
sunkiai skaitomos, kurias galima padaryti daug aiškesnes pasinaudojant IN ir
BETWEEN. Pirmiausia pažiūrėkime į paprastą formą ir jos galimą supaprastintą
atitikmenį.
Pavyzdys, kur atrenkame kainas, kurios tarp 40.00 ir 22.00:
SELECT preke, kaina FROM uzsakymu_sarasas WHERE kaina > 22.00 AND kaina < 40.00;
Tokią užklausą galime perrašyti iškarto su mintim „tarpe“,
tiksliau su raktiniais žodžiai BETWEEN „pirma vertė“ AND „antra vertė“:
SELECT preke, kaina FROM uzsakymu_sarasas WHERE kaina BETWEEN 22.00 AND 40.00;
Kitas atvejis, jeigu domina tik konkrečios vertės. Čia
galima pasinaudoti įprastu būdu, t.y. su OR operatoriais:
SELECT preke, kaina FROM uzsakymu_sarasas WHERE kaina = 22.00 OR kaina = 40.00 OR kaina=28.00;
Arba galima nurodyti, kad palygintu SQL serveris su visomis
IN skliaustelyje išvardintomis vertėmis:
SELECT preke, kaina FROM uzsakymu_sarasas WHERE kaina IN (22.00, 40.00 , 28.00);
Taip pat yra ir atvirkščiais variantas nelygu. Paprasta SQL logika būtų:
SELECT preke, kaina
FROM uzsakymu_sarasas
WHERE kaina != 22.00 OR kaina != 40.00 OR kaina!=28.00;
Tuo tarpu su NOT IN:
SELECT preke, kaina
FROM uzsakymu_sarasas WHERE kaina NOT IN (22.00, 40.00 , 28.00);
BETWEEN AND ir (NOT) IN leidžia parašyti daug trumpiau ir aiškiau didelio kiekio sąlygas.
Užduotys
1. Išrinkite pardavimo laiką, prekės pavadinimą ir kainą, kurių pardavimo kaina buvo nuo 10.00 iki 80.00.
2. Išrinkite vardą, pavardę, miestą tų žmonių, kurie yra viename iš šių rajonų: Vilniaus, Mažeikių ar Klaipėdos.