VERİTABANI SİSTEMLERİ Dersi Veri Sorgulama soru detayı:
SORU:
Alt sorgu kullanımını değerlendiriniz?
CEVAP:
Alt sorguların bir üst sorgunun tablosu, kısıtlayıcısı olabileceği gibi herhangi bir değer olarak da üst sorgu tarafından kullanılabilmektedir. Bu kullanıma örnek olması açısından aşağıdaki sorguyu dikkatle inceleyiniz. SELECT [Ürün No], Miktar, Miktar-(Select AVG(Miktar) FROM [Sipariş Ayrıntıları] WHERE [Ürün No]=a.[Ürün No] ) AS Fark FROM [Northwind].[dbo].[Sipariş Ayrıntıları] Komutlar incelendiğinde seçme alanında bir alt sorgunun yer aldığı görülmektedir. Bu sorgu [Sipariş Ayrıntıları] tablosunun her satırı için satışı yapılan ürünün, o ürün için yapılan tüm satışların ortalama miktardan ne kadar farklı olduğu hesaplanmaktadır. Sorguların satır bazlı oluşturulduğu düşünülürse her bir satıra gelindiğinde alt sorgu ilgili satırın ürün numarası ile bir ortalama hesabı yapıp geri dönecek ve aynı satırın miktar değerinden çıkaracaktır. Bir sorgunun seçim kısmında yer alan alt sorgular ciddi performans kaybına neden olabilmektedir. Her satır için çalıştırılan sorgunun gerçekleştirdiği işlem, üst sorgu ile ilişkili olması ve sorgu sonucu oluşacak satır sayısı oluşan performans kaybı ile doğrudan ilişkilidir.