New Query ile boş bir sorgu açalım. SELECT * FROM [zinzin_AdventureWorks].[HumanResources].[Employee] kodları ile tüm HumanResources.Employee tablosunu sorgulatalım.
Eğer birden fazla sütun üzerinde sorgulama yapıyorsak ve aradığımız kriterin tüm sütunlarda eşleşmesi gerekiyorsa AND kriterini kullanıyoruz.
Bu örnekte JobTitle'ı Sales Representative ve MaritalStatus'u S olan satırları bulmak istedik.
WHERE JobTitle = 'Sales Representative' AND MaritalStatus = 'S'kodları ile bunu çok kolay bir şekilde yaptık.
MaritalStatus burada medeni durumu belirtmektedir. S, single, bekar demektir. M, married, evli anlamına gelir.
Eğer tüm Marketing (Pazarlama) çalışanlarını bulmak istersek OR kriterini kullanmamız yeterli.
WHERE JobTitle = 'Marketing Manager'kodları ile JobTitle'ı Marketing Manager ya da Marketing Assistant ya da Marketing Specialist olan tüm çalışanlar sorgu sonucu olarak listelenecektir.
OR JobTitle = 'Marketing Assistant'
OR JobTitle = 'Marketing Specialist'
OR kriterini birleşim kümesi olarak düşünebiliriz. Kriterlere uyan tüm sonuçları bulmamıza yarar.
IN kriteri çoklu OR kullanacağımız durumlarda kurtarıcımız olan bir ifadedir. Bir önceki örnekte tüm pazarlama personelini OR kriteri ile bulduk. Fakat OR kriterini birden fazla kez yazmak yerine IN kriterini sadece bir kez kullanarak tüm pazarlama (marketing) personelini bulabiliriz. Bunun için
WHERE JobTitle IN ('Marketing Manager',kodlarını yazmamız yeterlidir.
'Marketing Assistant','Marketing Specialist')
Eğer OrganizationLevel'ı 4 ve SalariedFlag'ı 1 olan ya da JobTitle'ı Senior Tool Designer olan sonuçları listelemek isteseydik yukarıdaki gibi bir AND ve OR kombinasyonu kullanmalıydık. Burada SQL önce OrganizationLevel'ı 4 ve SalariedFlag'ı 1 olan değerleri bulmaya çalıştı. Ardından JobTitle'ı Senior Tool Designer olanları ekledi.
WHERE OrganizationLevel = 4 AND SalariedFlag = 1kodlarını kullandık.
OR JobTitle = 'Senior Tool Designer'
Eğer "OrganizationLevel'ı 4 ve SalariedFlag'ı 1 olan" ya da "OrganizationLevel'ı 4 ve JobTitle'ı Senior Tool Designer olan" sonuçları görmek isteseydik parantez () kullanmalıydık. Parantezli ve parantezsiz ifadeler birbirinden tamamen farklıdır.
WHERE OrganizationLevel = 4 AND (SalariedFlag = 1kodlarını kullandık. Bu ifadeyi anlamadıysanız şimdilik çok fazla kafa yormayın. Anlaşılması biraz zaman alabilmektedir.
OR JobTitle = 'Senior Tool Designer')
SQL'de AND, OR ve IN kriterlerinin kullanılması bu şekilde. Bir sonraki bölümde sayısal sorgulamalara değineceğiz.