VERİTABANI SİSTEMLERİ Dersi Veri Sorgulama soru detayı:

PAYLAŞ:

SORU:

Seçimlerin sınırlanmasını örnekleyerek açıklayınız?


CEVAP:

Veri sorgulamasında kayıtların belirli ölçütlere göre sınırlanması ya da diğer bir ifadeyle tablolar içinde aranması için WHERE ifadesi kullanılır. Basit bir örnek ile başlanarak WHERE komutu ile gerçekleştirilebilecek koşul ifadelerine bu kısımda yer verilecektir. Birçok istemci yazılımı, işlem yapılmak istenen nesnenin (müşteri, hesap, ürün, öğrenci vb.) girişi yapılarak veritabanında sorgular. Bu gibi işlemlerde Select sorgusunun WHERE komutu sonrası aranacak bilginin eşleştirilmesi yapılır. [Ürünler] tablosunda ”Ceviz” adlı ürünün [Liste Fiyatı] ve [Ürün Kodu] bilgisi sorgulanmak için oluşturulmuş aşağıdaki sorguda WHERE’den sonra parantez içinde “[Ürün Adı]= 'Ceviz' ” şeklinde yazılan ifade ilgili ürünün bilgisinin veri tablosu içerisinde bulunarak görüntülenmesini sağlar. Bu ifade de parantez gerekli değildir ancak koşul ifadelerinin sayısının fazla olması parantez kullanımını oldukça önemli hâle getirmektedir.

SELECT [Ürün Kodu], [Ürün Adı], [Liste Fiyatı] FROM Ürünler

WHERE ([Ürün Adı] = 'Ceviz')

MS SQL Server VTYS’i yazılımında sıkça kullanılan koşul ifadeleri Tablo 6.1’de yer almaktadır. Bazı ifadelerin yanında köşeli parantez içerisindeki [NOT] ifadesi ilgili koşulun değilini ifade etmek için de kullanılabilir.

Ürünler Tablosunda [Liste fiyatı] 40 ile 60 arasında olan ve [Ürün Adı] içerisinde “A” harfi olan ürünleri bulmak istersek aşağıdaki koşul ifadelerinin yazılması gerekmektedir.

SELECT [Ürün Kodu], [Ürün Adı], [Liste Fiyatı] FROM Ürünler

WHERE ([Liste Fiyatı] BETWEEN 20 AND 40) AND ([Ürün Adı] LIKE '%A%')

Sorgu cümleciği incelendiğinde WHERE ifadesinden sonra AND ile birbirine bağlanmış iki koşulun olduğu görülmektedir. İlk kısım liste fiyatı koşulu ve diğer koşul ise ürün adı ile ilgili koşuldur. Koşullar kayıt bazlı değerlendirildiği için her bir kayıtın bu koşulu sağlayıp sağlamadığı kontrol edilecek ve her ikisini birlikte sağlayanlar kullanıcıya görüntülenecektir. İkinci koşuldaki LIKE’dan sonra gelen '%A%' ifadesi, metin içerisindeki % karakteri herhangi bir metin katarını temsil eder. Joker karakter ismi de verilen bu semboller ile metin içerisindeki desenler aranabilmektedir.