Anasayfa / Yazılım / SQL / Between Kullanımı

Between Kullanımı

Between deyimi Select ve Where deyimleri ile birlikte kullanılan bir deyimdir. Between deyimi bir veri listesindeki bir alana ait verilerin belli bir alan aralığında, belli bir değer aralığında olanlarının gösterilmesi için kullanabiliriz. Genel olarak tarih aralıklarını listelemekte kullanılır ama tabi bu bir kural değildir, sayısal değerleri de listemek de çok sıklıkla kullanılır, hatta string aralıklarda bile ihtiyaç duyulmaktadır. Kalıp olarak kullanımı şöyledir :

SELECT column1,column2 FROM schema.table WHERE column BETWEEN value1 AND value2;

SELECT deyimi ve sonrası listelenmesini istediğimiz kolonlar daha sonra FROM deyimi ve hangi tablodan veri çekeceğimiz ve sonra WHERE deyimi ve aralık belirtmek istediğimiz kolonun adı ve sonra BETWEEN deyimi ilk değer AND ve sondeğer. Şimdi bir kaç örnek yapıyorum. (AdventureWorks veritabanı üzerinde çalışıyorum)

SELECT CustomerID, SalesOrderID, OrderDate, DueDate, ShipDate, AccountNumber
FROM Sales.SalesOrderHeader 
WHERE OrderDate BETWEEN '2005-07-04' AND '2005-07-31'

Sales.SalesOrderHeader tablosundan OrderDate alanı 2005-07-04 ve 2005-07-31 tarihleri arasında olanları listeledim. Bu tarihlerde dahil.

171201

SELECT CustomerID, SalesOrderID, OrderDate, DueDate, ShipDate, AccountNumber
FROM Sales.SalesOrderHeader WHERE CustomerID BETWEEN 27606 AND 27613

Sales.SalesOrderHeader tablosundan CustomerID alanı 27606 ile 27613 arasında olan verileri (bu değerler dahil) listeledim. Listelediğim alanlar, CustomerID, SalesOrderID, OrderDate, DueDate, ShipDate, AccountNumber.

171202

SELECT BusinessEntityID, JobTitle, MaritalStatus, Gender, HireDate, VacationHours
FROM HumanResources.Employee WHERE JobTitle BETWEEN 'E' AND 'R'

Şimdi bu son sorguyu açıklama gereği duyuyorum. Bu sorguda E harfi ile başlayan yanil ilk harfi E olanların hepsi dahil olmak üzere E’den R harfine kadar olan verileri listeler. R harfine kadar olan kısmına dikkat. R harfi dahil ama R’nin yanına bir harf geldiğinde bu dahil değil. Sadece R dahil, Ra bile olsa olmaz. Çünkü Ra değeri veya R’nin yanına bir karakter gelen ve sonrasında karakter olan tüm durumlar R’den büyük değerlerdir ve bu aralığa girmezler.

SELECT CustomerID, SalesOrderID, OrderDate, DueDate, ShipDate, AccountNumber
FROM Sales.SalesOrderHeader WHERE CustomerID BETWEEN 43670 AND 43660

Bu sorgu sonucunda da hiç bir veri geri dönmez. Çünkü BETWEEN kullanımında her zaman ilk değer ikinci değerden küçük olmalıdır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir