Bu bölümde SQL'de bu bölüme kadar öğrendiğimiz tüm konuların ara tekrarını yapacağız.
İ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.
Sorgumuz görseldeki gibi çalışacaktır.
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.
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.
Birden fazla değişkene ait listelemelerde AND, NULL olmayan kayıtlarda IS NOT NULL kriterini kullanmalıyız.
WHERE OrganizationNode IS NOT NULLkodları işimizi görecektir.
AND OrganizationLevel IS NOT NULL
Uygulama 03:
OrganizationLevel değeri 2 ve 3 olmayan kayıtları listeleyiniz.
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 != 2kriteri 2 ve 3 dışındaki tüm organizasyon seviyelerini listeleyecektir.
AND OrganizationLevel != 3
Uygulama 04:
OrganizationLevel değeri 2 ya da JobTitle'ı Tool Designer olan kayıtları listeleyiniz.
Ya da'lı ifadelerde OR kriterini kullanmalıyız.
WHERE OrganizationLevel = 2kodları aradığımız sonucu listeleyecektir.
OR JobTitle = 'Tool Designer'
Uygulama 05:
JobTitle'ı Production Technician - WC10, Production Technician - WC30, Production Technician - WC40 ve Production Technician - WC60 olan kayıtları listeleyiniz.
Aynı değişkenin birden fazla değerine ait sorgulamalarda IN kriterini kullanabiliriz.
WHERE JobTitle IN ('Production Technician - WC10',kodları işimizi görecektir. Değerleri yazarken output listesinden CTRL + C ile kopyalama yapabiliriz.
'Production Technician - WC30',
'Production Technician - WC40',
'Production Technician - WC60')
Uygulama 06:
VacationHours'ı 20 ve 50 arasında olan kayıtları listeleyiniz. (20 ve 50 dahil)
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 50kodları işimizi görecektir.
WHERE VacationHours >= 20 AND VacationHours <= 50kodları 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?
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.
* yıldız işaretinden önce TOP (10) yazdıktan sonra
ORDER BY VacationHours DESCsı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.
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.
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.