Menu
Coddy logo textTech

Subqueries Part 1

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

Alt sorgular, birden fazla sorguyu birleştirerek tek bir sorgu haline getirmemize olanak tanır. Örneğin aşağıdaki <strong>employees</strong> tablosunu düşünün:

kimlikmaaş
148
234
346
413
528

Bir alt sorguya ihtiyacımız var çünkü WHERE salary > AVG(salary) doğrudan kullanılamaz; zira AVG() gibi toplama fonksiyonları WHERE cümlesinde kullanılamaz - bunlar yalnızca veriler gruplandıktan sonra kullanılabilir.

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

Bir alt sorgu, şirketin ortalama maaşından daha fazla kazanan çalışanları bulmamıza yardımcı olur; önce ortalamayı hesaplayarak (iç sorgu) ve ardından bu değeri çalışanları filtrelemek için kullanarak (dış sorgu).

Ortalama şu olduğu için: (48 + 34 + 46 + 13 + 28) / 5 = 33.8, bu sorgunun sonucudur:

idmaaş
148
234
346
challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

  • <strong>shop</strong>: <strong>price</strong>, <strong>quantity</strong>, <strong>category</strong>, <strong>list_date</strong>

Fiyatı tüm ürünlerin ortalama fiyatından yüksek olan tüm ürünleri (tüm sütunları seç) bulan bir sorgu yazın.

Ortalama fiyatı hesaplamak için WHERE koşulunda bir alt sorgu kullanın, ardından her ürünün fiyatını bu ortalamaya karşılaştırın.

Kopya kağıdı

Alt sorgular, birden fazla sorguyu bir araya getirmenizi sağlar. WHERE yan tümcesinde AVG() gibi toplama fonksiyonlarını doğrudan kullanamadığınızda faydalıdırlar.

Temel alt sorgu sözdizimi:

SELECT column1, column2
FROM table_name
WHERE column1 > (
    SELECT AVG(column1)
    FROM table_name
);

Alt sorgu (iç sorgu) önce ortalamayı hesaplamak için yürütülür, ardından dış sorgu bu sonucu veriyi filtrelemek için kullanır.

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