SQL


T-Sql WHERE komutu ile veri filtreleme ve arama

Etiketler :
t-sql, sql, arama, filtreleme, where

Okunma Sayısı : 40  Yayınlanma Tarihi : 07.05.2008  Yayınlayan : Akın Bostancı

Puanla
Bu Makaleye 0 kişi puan vermiştir. Ortalama Puan: 0

Özet :
WHERE deyimi kullanılarak veriler arasında çeşitli kriterlere göre sorgu yapmayı öğreneceğiz.

WHERE Deyiminin Kullanımı
Tablodaki veriler arasında belirli kritere uygun sorgu yapmak için WHERE deyimi kullanılır. Arama kriteri veya filteleme ifadesi olarak da isimlendirilebilir.

WHERE deyimi, FROM ifadesinin hemen sağında kullanılır.

WHERE Söz dizimi:
SELECT FROM
WHERE

Ürünler tablosudan ürün fiyatı 2.5 olanları listelemek isteyelim.
SELECT ProductName, UnitPrice
FROM Products
WHERE UnitPrice = 2.5

Bu sorguda, ürünler tablosundan sadece ürün fiyatı 2.5 olan kayıtlar listelenecektir.


WHERE Deyiminde Kullanılacak Operatörler
WHERE deyimi ile kombine edilebilecek çeşitli operatörler vardır. Bu operatörler tablo 4.1'de listelenmiştir.

Operatör Açıklama
= Eşitlik
<> Eşit değil
!= Eşit değil
< Küçüktür
> Büyüktür
<= Küçük eşittir
>= Büyük eşittir
!< Küçük değildir
!> Büyük değildir
BETWEEN İki değer arasında
IS NULL NULL Değer
Tablo 4.1: Where Deyimi Operatörleri

Bu operatörlerden bazıları birbirleriyle aynı anlama gelmektedir. Örneğin <> ile !=, !< ile >=, ve !> ile <= aynı etkileri oluşturur. Fakat bunların hepsi bazı veri tabanı yönetim sistemleri tarafından desteklenmez. Örneğin !=, !< ve !> operatörleri, Ms Access tarafından desteklenmez.

Tek Bir Değere Göre Arama
Önceki örnekte 2.5 liraya eşitliğe göre arama yaptık. Şimdi ise belirli bir fiyattan daha küçük fiyata sahip olanları listeleyelim.

Ürünler tablosundan fiyatı 5 liradan küçük olanları listeleyelim.

SELECT ProductName, UnitPrice
FROM Products
WHERE UnitPrice < 5

Ürünler tablosundan fiyatı 15 liradan büyük ve eşit olanları listeleyelim.

SELECT ProductName, UnitPrice
FROM Products
WHERE UnitPrice >= 15;
4.2.2 Eşitsizlik Durumları
Şimdi ise eşitsizlik durumlarını inceleyelim.

Satıcı numarası 4 olan hariç tüm satıclardan alınan ürünleri listelemek isteyelim.

SELECT SupplierID, ProductName
FROM Products
WHERE (SupplierID <> 4);

Ürün adı Chang dışındaki tüm ürünleri listeleyelim.

SELECT ProductName
FROM Products
WHERE ProductName <> 'Chang'

Örnekten de gördüğünüz gibi, metinsel ifadeler ile ilgili sorgu yaparken ayıraç olarak tekli tırnak kullanılır.

Belirli Bir Değer Aralığındaki Verilerin Araştırılması

Belirli bir değer aralığındaki verileri araştırmak için BETWEEN operatörü kullanılır. Bu operatörün kullanımı WHERE deyiminden biraz daha farklıdır. Arama yapılacak aralığın başlangıcı BETWEEN anahtar sözcüğünden sonra belirtilmeli ve AND anahtar sözcüğünden sonra ise aralığın bitiş noktası belirtilmelidir.

Fiyatı 10 ve 20 lira arasında değişen ürünleri listeleyelim.

SELECT ProductName , UnitPrice
FROM Products
WHERE UnitPrice BETWEEN 10 and 20

BETWEEN operatörü sayesinde istenilen her aralıkta bulunan verileri ulaşabilirsiniz. Önemli olan başlangıç ve bitiş aralığını belirtmektir. Örnekte fiyat araması için nümerik değerler kullanıldı. Ayrıca metin ifadeleri için de aralık belirtilebilir. Bu sefer metinin alfabetik duruma göre arama yapılacaktır.

Ürün adı "Chang" ile "Longlife Tofu" arasında yer alan ürünleri listeleyelim.

SELECT ProductName, UnitPrice
FROM Products
WHERE ProductName BETWEEN 'Chang' AND 'Longlife Tofu';
4.2.4 Değer Girilmemiş Kayıtların Bulunması
Bir tablo oluşturulduğunda, bazı alanlara değer girilmemesine izin verilebilir. Örneğin bir adres bilgisinde posta kodu alanı opsiyonel olarak bırakılabilir. Bu şekilde hiç bir değer girilmemiş alanlarda saklanan değere NULL değer denir.
Bilgi: NULL ne 0 demektir, ne de boş bir metin bilgisi.
NULL bilgiya ulaşmak için WHERE deyimi ile IS NULL anahtar sözcüğü birlikte kullanılır.

Tedarikçiler (Suppliers) tablosundan fax bilgisi girilmemiş tedarikçilerin listesini alalım.

SELECT SupplierID, CompanyName
FROM Suppliers
WHERE Fax IS NULL;

WHERE Fax IS NULL kodu sayesinde fax numarası girilmemiş tedarikçiler listelenir.

SQL Kategorisinden Son Makaleler

Makale ile ilgili Yorumlar

Bu makale hakkında henüz yorum yapılmamıştır...


Güvenlik Kodunuz

Yorum ekleyebilmeniz için üye olmanız gerekmektedir.
Üye iseniz üye girişi yapınız.. Üye değilseniz, üye olmak için tıklayınız