PostgreSQL’de Birden Fazla SELECT Sorgusunu Tek Bir Sorguda Birleştirme
Bu yazıda, PostgreSQL üzerinde birden fazla SELECT sorgusunu tek bir sorguda nasıl birleştirebileceğinizi örnek kodlarla açıklıyoruz. Birden fazla tablo veya farklı filtreleme kriterleriyle veri çekerken bu yöntem performans açısından oldukça faydalıdır.
Birden Fazla SELECT Sorgusunu Neden Birleştirmeliyiz?
SQL’de farklı SELECT ifadelerini ayrı ayrı çalıştırmak yerine tek bir sorguda toplamak, hem daha düzenli bir yapı sağlar hem de performans iyileştirmesi sunar. Örneğin aşağıdaki gibi tek bir sorgu çalıştırmak çoğu durumda daha verimlidir:
SELECT COUNT(*) AS phoneNumbersToFetch FROM phone_numbers_to_fetch;
Birden Fazla SELECT’i Tek Bir Sorguda Kullanma
Aşağıdaki örnekte dört farklı SELECT sorgusunu tek bir SELECT ifadesi içinde birleştiriyoruz. Bu yapı sayesinde farklı tablolardan veya farklı koşullardan gelen sonuçları tek satırda elde edebilirsiniz.
SELECT phoneNumbersToFetch, phoneNumbersFetched, phoneNumbersAvailable,
phoneNumbersNotAvailable FROM
(SELECT COUNT(*) AS phoneNumbersToFetch FROM phone_numbers_to_fetch) AS a1,
(SELECT COUNT(*) AS phoneNumbersFetched FROM phone_number_details) AS a2,
(SELECT COUNT(*) AS phoneNumbersAvailable FROM phone_number_details WHERE
line_info != '-1') AS a3,
(SELECT COUNT(*) AS phoneNumbersNotAvailable FROM phone_number_details
WHERE line_info = '-1') AS a4;
SQL Sorgusunun Açıklaması
- phoneNumbersToFetch: phone_numbers_to_fetch tablosundaki tüm kayıtların sayısını getirir.
- phoneNumbersFetched: phone_number_details tablosundaki toplam kayıt sayısını döndürür.
- phoneNumbersAvailable: line_info değeri
-1olmayan kayıtların sayısını çeker. - phoneNumbersNotAvailable: line_info değeri
-1olan kayıtların sayısını getirir.
Bu teknikle birden fazla sorguyu tek bir SELECT içinde birleştirerek hem daha okunabilir hem de daha hızlı çalışan SQL sorguları yazabilirsiniz.
Sonuç
Bu yazıda, PostgreSQL’de çoklu SELECT ifadelerinin tek bir sorguda nasıl birleştirileceğini örnekler üzerinden ele aldık. Daha fazla SQL ipucu, PostgreSQL performans önerileri ve veri yönetimi teknikleri için bizi takip etmeyi unutmayın!