PostgreSQL SUBQUERY(iç içe sorgular)
PostgreSQL SUBQUERY(iç içe sorgular), bu yazımızda kullandığımız sorguları biraz daha karmaşık hale getireceğiz .PostgreSQL Select cümlesinin içine farklı bir SELECT cümlesini yazarak bunları birleştirebilir ve bunlardan tek bir sonuç alabiliriz. Bunun için birkaç yöntem vardır, bunları diğer yazılarımda anlatacağım fakat bu konuda içe içe sorgu yani SUBQUERY’den bahsedeceğim.
SUBQUERY yazabilmemiz için bazı koşullara dikkat etmemiz gerekiyor. Bunlardan bazıları aşağıdaki gibidir.
- SUBQUERY’ler ilk query den sonra yazılır.
- SUBQUERY parantez içerisinde yazılmalıdır.
- SUBQUERY den gelen kayıt sayısına uygun operatörler kullanılmalıdır.
Örnek olarak öğrenci tablomuzdaki vize notlarının ortalaması alınsın ve ortalamadan yüksek olanları listeleyelim.
İlk olarak öğrenci tablosundan sorgu çekelim ve verileri görelim.
Verilerimizi gördük şimdi de Bilgisayar Mühendisliği dersine giren ve vizesi sınıf ortalamasının üstünde olan kişileri görüntüleyelim.
Aşağıdaki soldan ikinci select cümlesinde vizedeki notların ortalaması 53.444 . Bu rakamdan yüksek değerleri görmek için ise büyüktür işaretini kullanmamız yeterli oluyor.
select adi,soyadi,vize from ogrenci_sb where vize >(select avg(vize) from ogrenci_sb);
Yukarıdaki örneği yapmak için istediğimiz kolonları yazıyoruz. Ben adi, soyadi ve vize notlarını görmek için vize kolonunu aldım bundan sonra ise WHERE cümlesinden sonra bu vizenin ortalamasını alacağım için parantez açarak SELECT cümlesinde vizelerin ortalamasını aldım .
Aritmetik operatörler ile yukarıdaki işlemleri yaptık fakat bunların haricin de aşağıda madde halinde belirtilen PLPGSQL cümleleri vardır.
- ALL
- ANY
- IN
- EXISTS
- NOT EXISTS
Yukarıdaki maddeler ile ilgili örnekleri diğer yazılarımda sizinle paylaşacağım.