21 Ağustos 2010 Cumartesi

Sql'de Subquery

Subquery kisaca ic ice select sorgulari yazmak demektir. Bazi durumlarda bizi joinle iki satiri eslesmekten kurtarip daha performansla calismasini saglar programin. Kisaca bir ornek uzerinden gosterip, yazilim kurallarini belirtmek gerekirse;

Seneryomuz, AdventureWorks Database'i uzerinden, ListeFiyati ortalama fiyatin uzerinde olan verileri getiren kod yazalim.

SELECT * FROM Production.Product WHERE ListPrice>(SELECT AVG(ListPrice) FROM Production.Product)

Gordugunuz uzere Select sorgusunun icine bir Select daha kullandik.

Kisaca uymamiz gereken kurallar da su sekildedir;

  • Icerideki Select sorgusu mutlaka parantezler "()" icerisinde yazilmalidir.
  • Icerideki Select sorgusu mutlaka tek bir deger dondurmelidir. Bunun icin Aggregate fonksiyonlari(Max,Min,Avg,Sum) kullanilmalidir veya TOP 1 ..vs. gibi komutlarla tek bir deger dondurulmeli.

0 yorum: