SQL Between Operatörü

BETWEEN deyimi, bir alan değerinin iki değer arasında olup olmadığını tanımlamak amacıyla kullanılır. Diyelim ki bir ürün tablomuz var ve bu tablodaki kayıtlar içinden 10 kg ile 20 kg olan ürünleri listelemek isteyelim. Böyle bir durumda kullanmamız gereken ifade BETWEEN olacaktır.

Between operatörü, Select ve Where deyimleri ile birlikte kullanılır. Kullanım alanı çoğunlukla tarih(DATE) aralıklarını listelemektir fakat sayısal ifadeler(INTEGER) arasında köprü kurup o aralıklar içinde kullanılmaya da gayet müsaittir. Hatta string ifadeler için dahi kullanılır. Metin(VARCHAR) ifadelerde kullanım söz konusu olduğunda alfabetik sıra ile metin ifadelerini sıralamış olur.

BETWEEN Operatörü Nasıl Kullanılır?

SELECT alan_adlari FROM tablo_adi
WHERE sorgulanacak_alan_adi 
BETWEEN deger_araliği1 AND deger_araliği2

Şimdi birkaç örnek yapalım.

tablo: urun

nourunIDurunAditeslimatAdresikilo
11005unİstanbul20
21007şekerÇorum10
31009tuzİzmir15
41120sıvı sabunMuğla25
51122çamaşır suyuBalıkesir30
Ürün tablosu

Örnek-1: Kilosu 20 ile 30 arasında olan ürünlerin adlarını ve kilolarını sorgulayalım.

SELECT urunAdi, kilo FROM urun 
WHERE kilo BETWEEN 20 AND 30

Sorgumuzun çıktısı şu şekilde olur:

urunAdikilo
un20
sıvı sabun25
çamaşır suyu30
Ürün sorgu tablosu

Böylelikle 20 ile 30 derken 20 ve 30 sayılarını da dahil ettiğini görmüş oluruz.

Örnek-2: Ürün isimleri “sıvı sabun” ile “tuz” arasında olan kayıtları listeleyiniz.  

SELECT * FROM urun
WHERE urunAdi BETWEEN 'sıvı sabun' AND 'tuz'

nourunIDurunAditeslimatAdresikilo
21007şekerÇorum10
31009tuzİzmir15
41120sıvı sabunMuğla25
Ürün sorgu tablosu

Örnek-3: Teslimat adreslerini baz alalım ve kayıtlardan A ile K harfi arasındaki harflerden herhangi bir harf ile başlayan kayıtları listeleyelim.

SELECT urunID, urunAdi, teslimatAdresi FROM urun 
WHERE teslimatAdresi BETWEEN 'A' AND 'K'

Sorgu sonucu:

urunIDurunAditeslimatAdresi
1005unİstanbul
1007şekerÇorum
1009tuzİzmir
1122çamaşır suyuBalıkesir
Ürün sonuç tablosu

Between Aralık Değerleri Sırası

Peki aralık değerlerini büyükten küçüğe doğru yazsaydık yine aynı sonuçlar ile mi karşılaşacaktık?

Örnek-1’deki sorguyu ele alalım.

SELECT urunAdi, kilo FROM urun 
WHERE kilo BETWEEN 20 AND 30

ile 20 ve 30 kilo arasındaki ürünleri çekmek istemiştik. 30 ile 20 arasındaki ürünleri çekmek için sayısal ifadelerin yerini değiştirerek yeni bir sorgu yaratalım.

SELECT urunAdi, kilo FROM urun 
WHERE kilo BETWEEN 30 AND 20

Karşılaşacağımız sorgu sonucunda hiçbir veri geri dönmez. Çünkü BETWEEN kullanımında her zaman ilk değer, ikinci değerden küçük olmalıdır. Aynı durum metin ifadelerinde ve tarih aralıklarında da geçerlidir. Between operatörünün sol tarafındaki değer hep daha küçük olmalıdır.

Bir sonraki yazılarda görüşmek üzere..

Yorum bırakın