AND, OR ve IN Kriteri

AND, OR ve IN Kriteri

New Query ile boş bir sorgu açalım. SELECT * FROM [zinzin_AdventureWorks].[HumanResources].[Employee] kodları ile tüm HumanResources.Employee tablosunu sorgulatalım.


AND Kriteri

AND, OR ve IN Kriteri

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.


OR Kriteri

AND, OR ve IN Kriteri

Eğer tüm Marketing (Pazarlama) çalışanlarını bulmak istersek OR kriterini kullanmamız yeterli.

WHERE JobTitle = 'Marketing Manager'
OR JobTitle = 'Marketing Assistant'
OR JobTitle = 'Marketing Specialist'
kodları ile JobTitle'ı Marketing Manager ya da Marketing Assistant ya da Marketing Specialist olan tüm çalışanlar sorgu sonucu olarak listelenecektir.

OR kriterini birleşim kümesi olarak düşünebiliriz. Kriterlere uyan tüm sonuçları bulmamıza yarar.


IN Kriteri

AND, OR ve IN Kriteri

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',
'Marketing Assistant','Marketing Specialist')
kodlarını yazmamız yeterlidir.


AND ve OR Birlikte Kullanımı

AND, OR ve IN Kriteri

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 = 1
OR JobTitle = 'Senior Tool Designer'
kodlarını kullandık.

AND, OR ve IN Kriteri

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 = 1
OR JobTitle = 'Senior Tool Designer')
kodlarını kullandık. Bu ifadeyi anlamadıysanız şimdilik çok fazla kafa yormayın. Anlaşılması biraz zaman alabilmektedir.

SQL'de AND, OR ve IN kriterlerinin kullanılması bu şekilde. Bir sonraki bölümde sayısal sorgulamalara değineceğiz.

<<< Önceki Konu
Sonraki Konu >>>