SQL Alt Sorguları (Subquery) Nedir ve Nasıl Kullanılır?


SQL Alt Sorguları (Subquery) Nedir ve Nasıl Kullanılır?

SQL (Structured Query Language), veritabanı yönetimi ve sorgulama işlemleri için kullanılan güçlü bir dilidir. Bu dilin temel özelliklerinden biri de alt sorgularıdır. Alt sorgular, bir SQL sorgusu içinde başka bir sorguyu içeren yapıları ifade eder. Bu yapılar, veritabanı işlemlerini daha esnek hale getirirken daha karmaşık sorgulamaların yapılabilmesini sağlar. Bu makalede, SQL alt sorgularını ne olduğunu ve nasıl kullanıldığını öğreneceksiniz.

Alt Sorgu (Subquery) Nedir?

Bir alt sorgu, ana sorgunun içine gömülü olarak yer alan ve genellikle bir dizi sonuç üreten sorgulardır. Bu sorgular, bir ana sorgunun içinde yer aldığı için, ana sorgunun sonuçlarına dayanarak daha spesifik ve detaylı sonuçlar elde etmek için kullanılabilir. Alt sorgular, özellikle aşağıdaki senaryolarda kullanışlıdır:

  1. Filtreleme ve Karşılaştırma: Alt sorgular, WHERE veya HAVING gibi bölümlerde kullanılarak, ana sorgunun sonuçlarını filtrelemek veya belirli koşullara göre karşılaştırmak için kullanılabilir.
  2. İç içe Sorgulamalar: Bir sorgunun sonuçlarını alıp, bu sonuçları başka bir sorguda kullanmak için alt sorgular kullanılabilir. Bu, veritabanından veri çekmek ve bunları daha karmaşık bir şekilde işlemek için kullanışlıdır.
  3. Aggregat Fonksiyonlarla Kullanım: Alt sorgular, COUNT, SUM, AVG gibi agregat fonksiyonlarla birleştirilerek, veritabanındaki özetleyici hesaplamaların daha spesifik hale getirilmesine yardımcı olabilir.

Örnek 1;

Bu örnekte, ana sorgu kullanıcıların adını ve soyadını seçerken, alt sorgu ortalama yaşın üstünde olan kullanıcıları filtrelemek için kullanılıyor.

Örnek 2;

Bu sorgu, her bir kursun adını ve o kursun en fazla kaç öğrenci tarafından alındığını getirecektir. Sorgu, iç içe geçmiş iki seviyede alt sorgular içerir. İlk alt sorgu, her bir kursun öğrenci sayısını hesaplamak için kullanılır. Ardından, bu alt sorgunun sonuçları daha fazla işlem için dıştaki bir sorguda kullanılır.

Örnek 3;

Not; Bazı yerlerde chatgpt üzerinden yardım alınmıştır.


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir