Menu
CoddyTech

Alt Sorgular Bölüm 2

Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası. Ders 39 / 72.

Üç ana alt sorgu türü vardır:

  1. Skaler Alt Sorgular - Tek bir değer döndürür (bir satır, bir sütun)
  2. Satır Alt Sorguları - Birden fazla sütun içeren tek bir satır döndürür
  3. Tablo Alt Sorguları - Birden fazla satır ve sütun döndürür

Örneğin, her alt sorgu türü için bazı kullanım örnekleri şunlardır:

Skaler Alt Sorgu - Ortalama maaştan daha fazla kazanan çalışanları bulma:

SELECT name, salary
FROM employees
WHERE salary > (
    SELECT AVG(salary)
    FROM employees
);

Satır Alt Sorgusu - Alice ile aynı departmana ve maaşa sahip çalışan(lar)ı bulma

SELECT name
FROM employees
WHERE (department, salary) = (
    SELECT department, salary
    FROM employees
    WHERE name = 'Alice'
);

Tablo Alt Sorguları - Departmanları ve çalışan sayılarını gösterme

SELECT department, count
FROM (
    SELECT department, COUNT(*) as count
    FROM employees
    GROUP BY department
) as dept_counts;

Kullanım alanlarına dikkat edin:

  • Skaler - Basit karşılaştırmalar (>, <, =)
  • Birden çok sütunu eşleştirmeniz gerektiğinde
  • Bir sonuç kümesini sorgulamanız gerektiğinde
challenge icon

Görev

Kolay

Kullanılabilir tablolar ve sütunlar:

  • shop: price, quantity, category, list_date

Toplam miktarları mağazadaki tüm miktarların ortalamasından büyük olan kategorileri bulun. category değerini ve total_quantity adı verilen toplam miktarı döndürün.

Önemli: Ortalamayı hesaplamak için HAVING yan tümcesi içinde bir alt sorgu kullanmalısınız. Sabit bir değer veya ayrı bir sorgu kullanmayın: alt sorgu, HAVING içinde doğrudan shop tablosundan AVG(quantity) hesaplamalıdır.

Çözüm adımları:

  1. Öncelikle mağazadaki tüm miktarların ortalamasını hesaplayan bir alt sorgu yazın: SELECT AVG(quantity) FROM shop
  2. Ardından her kategori için miktarlarını toplayın ve HAVING anahtar sözcüğünü kullanarak bu alt sorguyla karşılaştırın

Kendin dene

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: SQL playground