0Pricing
SQL Academy · Ders

Skaler, Satır ve Tablo Alt Sorguları

Tek bir değer, tek bir satır veya tam bir tablo döndüren alt sorguları kullanın ve bunları SELECT, FROM ve WHERE ifadelerine yerleştirin.

Skaler, Satır ve Tablo Alt Sorguları, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

Alt Sorgu Nedir?

Alt sorgu, başka bir SQL ifadesinin içindeki SELECT sorgusudur. Şu türlerde olabilir:

  • Tek bir değer döndüren skaler alt sorgu
  • Tek bir satır döndüren satır alt sorgusu
  • Bir ilişki döndüren tablo alt sorgusu (FROM içinde kullanılır)

Skaler Alt Sorgu

Tek bir değer beklenen her yerde kullanılır:

SELECT id, total,
       total - (SELECT AVG(total) FROM orders) AS diff_from_avg
FROM orders
WHERE created_at >= NOW() - INTERVAL '30 days';

Satır Alt Sorgusu

Birden çok sütun içeren tek bir satır döndürür. Daha az yaygındır; çoğunlukla satır oluşturucularla kullanılır:

SELECT *
FROM orders
WHERE (status, country) = (
  SELECT status, country FROM orders WHERE id = 1
);

FROM İçinde Tablo Alt Sorgusu

Bir sorgu sonucunu geçici bir tablo gibi ele alın:

SELECT country, AVG(big_order_total) AS avg_big
FROM (
  SELECT country, total AS big_order_total
  FROM orders
  WHERE total > 1000
) AS sub
GROUP BY country;

FROM Alt Sorgularına Takma Ad Verme

PostgreSQL'de her FROM alt sorgusu, kullanmasanız bile bir takma ad gerektirir:

SELECT * FROM (SELECT 1) sub;     -- "sub" required

WHERE İçinde Alt Sorgular

Türetilmiş bir değer kümesine göre filtreleyin:

SELECT * FROM users
WHERE id IN (
  SELECT user_id FROM orders WHERE total > 100
);

EXISTS / NOT EXISTS

Bir alt sorgunun en az bir satır döndürüp döndürmediğini test edin:

SELECT * FROM users u
WHERE EXISTS (
  SELECT 1 FROM orders o WHERE o.user_id = u.id
);

SELECT İçinde Alt Sorgular

Satır başına bir skaler alt sorgu yerleştirin:

SELECT id, full_name,
  (SELECT COUNT(*) FROM orders o WHERE o.user_id = u.id) AS order_count
FROM users u;

-- Often readable, but a LEFT JOIN + GROUP BY is usually faster.

İfadeler Olarak Alt Sorgular

Birden fazla satır döndüren skaler alt sorgu hatadır:

SELECT (SELECT email FROM users);
-- ERROR: more than one row returned by a subquery used as an expression

JOIN Kullanmak İçin Ne Zaman Yeniden Düzenleme Yapılmalı

Birçok "x IN (SELECT...)" ifadesi JOIN olarak yeniden yazılabilir. Daha anlaşılır olan biçimi seçin; modern planlayıcılar çoğu zaman aynı planı üretir.

Alt Sorgular ve CTE'ler

Aynı alt sorguya iki kez ihtiyacınız varsa bir CTE ile ona ad verin — bu konu bir sonraki derste ele alınacaktır.

Özet

Alt sorgular üç türde olabilir.

  • SELECT/WHERE içinde skaler
  • Eşitlik denetimlerinde satır
  • FROM içinde tablo
  • "Herhangi bir eşleşme" denetimleri için EXISTS

Hızlı Kontrol

Bir FROM yan tümcesinin içinde geçici tablo olarak hangi alt sorgu biçimi kullanılır?

Sıkça Sorulan Sorular

“Skaler, Satır ve Tablo Alt Sorguları” dersi ücretsiz mi?

Evet — “Skaler, Satır ve Tablo Alt Sorguları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“Skaler, Satır ve Tablo Alt Sorguları” dersinde ne öğreneceğim?

Tek bir değer, tek bir satır veya tam bir tablo döndüren alt sorguları kullanın ve bunları SELECT, FROM ve WHERE ifadelerine yerleştirin. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Skaler, Satır ve Tablo Alt Sorguları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Skaler, Satır ve Tablo Alt Sorguları
  2. İlişkili ve İlişkisiz Alt Sorgular
  3. Ortak Tablo İfadeleri (WITH)
  4. Hiyerarşiler için Özyinelemeli CTE'ler
← SQL Academy Sayfasına Dön