WHERE Kriteri

Bu bölümde ilk SQL sorgusu kriterimiz olan WHERE'e değineceğiz. Bir önceki bölüm olan Uzak Sunucu Veritabanı Kullanımı'nda anlattığım zinzin_AdventureWorks veritabanını kullanacağım ve gerçek bir veritabanı üzerinde çalışıyormuş gibi sorgu yazacağız. Siz kendi yerel veritabanınız olan AdventureWorks2019'u kullanabilirsiniz. Daha önce de belirttiğim gibi hem uzak veritabanı hem de kullandığınız yerel veritabanı aynı.

WHERE kriteri

İlk olarak uzak sunucu veritabanımıza bağlanalım ve Tables klasörünü açalım. Ardından HumanResources.Employee tablosuna sağ tıklayıp açılan listeden "Select Top 1000 Rows"u seçelim.

WHERE kriteri

Sorgumuz görseldeki gibi çalışacaktır.

WHERE kriteri

TOP (1000) ile ilk 1000 sonucu göstermek yerine * yıldız işareti ile tüm sütunları ve tüm sonuçları sorgulatalım.

WHERE kriteri

WHERE JobTitle = yazdıktan sonra Research and Development Manager değerini tek tırnak (') işaretleri içerisine kopyala + yapıştır yapalım.

Burada tüm tabloda JobTitle'ı Research and Development Manager olanları sorgulatıyoruz. WHERE bu işe yaramaktadır. Belirli bir sütundaki (değişkendeki) belirli değerleri bulmak için daima WHERE kriterini kullanıyoruz.

WHERE kriteri

Sorgumuzu çalıştırdığımızda tüm sonuçlar içerisinde JobTitle'ı Research and Development Manager olan 2 kayıt listelenecektir.

WHERE kriteri

Toplamda kaç adet sonuç var derseniz -- iki çizgi işareti ile WHERE kısmını yorum hâline getirip sorguyu tekrar çalıştırabilirsiniz. Sorgu sonucu kaç adet satır bulunduğu SSMS (SQL Server Management Studio'nun) arayüzünün sağ alt köşesinde yazacaktır.

WHERE kriteri kullanımında metinsel ifadeleri sorgulatırken daima tek tırnak (') işareti kullanıyoruz. Python'da tırnak (") ve tek tırnak (') işareti kullanılabilirken MSSQL'de sadece tek tırnak (') kullanılabilmektedir. Bu yüzden buna dikkat etmekte fayda var.

WHERE kriteri

Sayısal değerleri bulmak için tek tırnak (') kullanmamıza gerek bulunmamaktadır. Doğrudan sayıyı yazabiliriz. Tıpkı Python'da olduğu gibi SQL sorguları da bu sözdiziminde çalışmaktadır. Fakat dikkat etmemiz gereken ondalık gösterimleridir. Sorgu sonuçlarında 124,75 gibi virgüllü ondalıklar gösterilse de sorgularda mutlaka ve mutlaka nokta (.) kullanılmalıdır. Aksi takdirde sorgumuz çalışmayacaktır.

Bu örnekte özellikle 2 yerine 2.00 ifadesini kullandım.

WHERE kriteri

Eğer OrganizationLevel'ı 2 dışındaki tüm sonuçları bulmak isteseydik = (eşittir) yerine != (ünlem eşittir) yazmalıydık. Bu ifade yine Python programlama dili ile birebir aynıdır.


NULL Sorguları

WHERE kriteri

WHERE ifadesini yorum satırı hâline getirip tüm sonuçları sorgulattığımızda dikkat ederseniz bazı değerler NULL olarak görüntülenmekte. NULL, Unknown Value (Bilinmeyen Değer) anlamına gelmektedir.

Bir yerde NULL değerini görüyorsak o değer veritabanında bulunmamaktadır. Boş ya da 0 (sıfır) değerine sahip değildir. Veritabanında tamamen bulunmamaktadır. Bu sebeple "= 0" ya da "!= 0" gibi ifadeleri NULL için uygulayamayız.

WHERE kriteri

Bir tablodaki NULL değerleri bulmak için IS NULL ifadesini kullanıyoruz. Bu şekilde aranılan sütunda NULL değerine sahip tüm satırlar listelenecektir.

WHERE kriteri

NULL dışındaki tüm değerleri bulmak içinse IS NOT NULL ifadesini kullanıyoruz. Görüldüğü üzere kullanımı oldukça basit.

SQL'de WHERE kullanımı oldukça kolay. Bir sonraki bölümde AND, OR ve IN ifadeleri ile WHERE kullanımını biraz daha detaylandıracağız.

<<< Önceki Konu
Sonraki Konu >>>