SQL Server’da Alt Sorgularda IN Operatörü Kullanımı
Herkese merhaba,
Bu yazıda size SQL Server’da alt sorgularda in operatörü kullanımından bahsedeceğim.
İlk olarak altsorgu sorgu içinde sorgu demektir. En temel haliyle böyle diyebiliriz. IN ise kelime anlamı olarak içinde anlamına gelir. Birden fazla değer aramak için kullanılır. Bu ikisinin birleşimi ile iç içe sorgular yazmamız mümkündür. Konuyu anlama açısından Northwind veritabanını kullanarak bir örnek yapalım.
--Subquery Örnek SELECT * FROM dbo.Products WHERE SupplierID IN ( SELECT SupplierID FROM dbo.Suppliers WHERE ContactName = 'Charlotte Cooper' ) --Inner Join Örnek SELECT * FROM dbo.Products p INNER JOIN dbo.Suppliers s ON s.SupplierID = p.SupplierID WHERE s.ContactName='Charlotte Cooper'
Burada iki adet sorgu bulunmakta. İkisi de aynı sonucu veriyor gibi gözükse de çektiği alan sayıları farklıdır.
Subquery örneğini açıklayacak olursak Suppliers tablosunda ContactName kısmında Charlotte Copper olan ürünleri çekmiş olduk. Böyle işlemlerde ilk olarak ne istediğimize karar vereceğiz. Products tablosundan bilgi getirme işlemi yapıyoruz. Bu işlem için şartımızı hangi tabloya yazacağız ona dikkat edeceğiz kısaca ContactName alanı Suppliers tablosunda olduğu için where şartını buraya yazacağız. İki select sorgusunu birleştirmek için In yapısını arada kullanıyoruz. Birinci select sorgusunun where şartındaki alan ile ikinci sorgunun yani alt sorgunun select kısmından sonraki alan isminin aynı olması önemlidir.
Inner Join ile de aynı sonucu alacaksınız tek farkı daha fazla alan getiriyor olmasıdır.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.