Ara Tekrar 2

Bu bölümde SQL'de bu bölüme kadar öğrendiğimiz tüm konuların ara tekrarını yapacağız.

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.


Uygulama 01:

JobTitle'ı Tool Designer olan kayıtları listeleyiniz.


Yanıtı Göster

sql ara tekrar

Belirli bir değişkene ait değerleri bulmak için WHERE kriterini kullanıyoruz.

WHERE JobTitle = 'Tool Designer'
kodları JobTitle'ı Tool Designer olan tüm kayıtları listeyecektir.


Uygulama 02:

OrganizationNode ve OrganizationLevel değeri NULL olmayan tüm kayıtları listeleyiniz.


Yanıtı Göster

sql ara tekrar

Birden fazla değişkene ait listelemelerde AND, NULL olmayan kayıtlarda IS NOT NULL kriterini kullanmalıyız.

WHERE OrganizationNode IS NOT NULL
AND OrganizationLevel IS NOT NULL
kodları işimizi görecektir.


Uygulama 03:

OrganizationLevel değeri 2 ve 3 olmayan kayıtları listeleyiniz.


Yanıtı Göster

sql ara tekrar

Sorgudan çıkarılmak istenen nümerik değerlerde != operatörünü kullanmalıyız. Birden fazla değişkene ait sorgu yaptığımız için de AND kriterini kullanmalıyız.

WHERE OrganizationLevel != 2
AND OrganizationLevel != 3
kriteri 2 ve 3 dışındaki tüm organizasyon seviyelerini listeleyecektir.


Uygulama 04:

OrganizationLevel değeri 2 ya da JobTitle'ı Tool Designer olan kayıtları listeleyiniz.


Yanıtı Göster

sql ara tekrar

Ya da'lı ifadelerde OR kriterini kullanmalıyız.

WHERE OrganizationLevel = 2
OR JobTitle = 'Tool Designer'
kodları aradığımız sonucu listeleyecektir.


Uygulama 05:

JobTitle'ı Production Technician - WC10, Production Technician - WC30, Production Technician - WC40 ve Production Technician - WC60 olan kayıtları listeleyiniz.


Yanıtı Göster

sql ara tekrar

Aynı değişkenin birden fazla değerine ait sorgulamalarda IN kriterini kullanabiliriz.

WHERE JobTitle IN ('Production Technician - WC10',
'Production Technician - WC30',
'Production Technician - WC40',
'Production Technician - WC60')
kodları işimizi görecektir. Değerleri yazarken output listesinden CTRL + C ile kopyalama yapabiliriz.


Uygulama 06:

VacationHours'ı 20 ve 50 arasında olan kayıtları listeleyiniz. (20 ve 50 dahil)


Yanıtı Göster

sql ara tekrar

Aralıklı sayısal sorgulamalarda BETWEEN ve AND kriterlerini kullanmalıyız. Ya da büyüktür - küçüktür işaretlerini kullanabiliriz.

WHERE VacationHours BETWEEN 20 AND 50
kodları işimizi görecektir.
WHERE VacationHours >= 20 AND VacationHours <= 50
kodları da aynı sonucu verecektir.


Uygulama 07:

"European" kelimesi ile başlayan bir JobTitle olduğunu düşünüyorsunuz fakat tam adını bilmiyorsunuz. Hangi sorguyu çalıştırmalısınız?


Yanıtı Göster

sql ara tekrar

Bu gibi durumlarda LIKE kriterini ve % yüzde operatörünü kullanmalıyız.

WHERE JobTitle LIKE 'European%'
kodları JobTitle'ın tam adını öğrenmemize yardımcı olacaktır.


Uygulama 08:

VacationHours değerlerinin sadece ilk 10 tanesini büyükten küçüğe sıralayınız.


Yanıtı Göster

sql ara tekrar

* yıldız işaretinden önce TOP (10) yazdıktan sonra

ORDER BY VacationHours DESC
sıralaması ile tatil saatlerinin ilk 10'unu büyükten küçüğe sıralayabiliriz.


Uygulama 09:

JobTitle'ları tekil olarak sıralayınız ve kaç farklı JobTitle olduğunu bulunuz.


Yanıtı Göster

sql ara tekrar

Bir değişkene ait değerlerin benzersiz (unique) olanlarını listelemek için SELECT DISTINCT'ten sonra değişken adını yazmalıyız. Bu şekilde 67 farklı JobTitle olduğu görülebilir.


Uygulama 10:

MaritalStatus'u S (single) olan kayıtları listeleyiniz ve Excel'e aktarınız.


Yanıtı Göster

sql ara tekrar

WHERE MaritalStatus = 'S'
kriteri ile tüm bekarları listeledikten sonra "Select All" ve ardından "Copy with Headers" yapmalıyız. Kopyaladığımız değerleri Excel'e yapıştırabiliriz.


Tebrikler! İlk ara tekrarınızı tamamladınız. Bir sonraki bölümde türev sorgular konusuna değineceğiz.

<<< Önceki Konu
Sonraki Konu >>>