PostgreSQL ALL komutu

ALL komutu subquery den gelen sonuçların hepsi için çalışır yani alt sorgudan gelen kayıtlar için kullandığınız ” < “,” > ” ,” = “,” != ” parametrelere göre sonucu şekillendirir. Örnek uygulama üzerinden daha detaylı arama yapalım.

ogrenci tablomuzda soyadı  ERDEM olan kullanıcıların vize sonuçlarından yüksek olanlarını getirmesini isteyelim fakat bunu yapmadan tablomuzdaki verilere bakalım.

 

Yukarıda ogrenci tablomuzda 10 kaydın olduğunu görüyoruz. Bu kayıtlar arasından yukarıda istediğim  koşula uyan  plpgsql komutunu yazalım.

 SELECT * FROM ogrenci WHERE vize > ALL(SELECT vize FROM ogrenci WHERE soyadi='ERDEM' );

Tablomuzun ilk haline baktığımızda 11 adet kayıt olduğunu görmüştük , soyadı ERDEM olan 3 kayıt vardı fakat sonuca baktığımızda 5 kayıt geldiğini görüyoruz. neden ? Bunun sebebi soyadı ERDEM olan 3 kayıt arasında ki değerlerin en büyük değerini alıyor yani FARUK ERDEM’in vizesini baz alarak  yani vizesi 40 dan fazla olanları değerlendiriyor ve bunun sonucunda 5 kayıt dönmüş oluyor.

 

Loading