Built-In Aggregate Part 2
Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası — ders 35 / 72.
Bazen toplama fonksiyonlarını daha karmaşık şekillerde kullanmamız gerekir, örneğin her satırı bir toplama değeriyle karşılaştırmak. İç içe sorgular burada işimize yarar.
Bireysel satırları toplu değerlerle birleştiren hesaplamalar yapmak istediğinizde, iç içe bir sorgu kullanmanız gerekir. İşte nedeni:
Bu çalışmayacak:
SELECT value + MIN(value)
FROM table1Sebep şu ki, toplama fonksiyonları tüm sütun üzerinde çalışır, oysa 'value' referansı satır satır çalışmaya çalışır. Bunu çözmek için, iç içe bir sorgu kullanırız:
SELECT value + (SELECT MIN(value) FROM table1)
FROM table1Bu, iç içe sorgu (SELECT MIN(value) FROM table1) önce yürütülür ve tek bir değer döndürür, ki bu ana sorguda her satır için kullanılabilir, diye çalışır.
İç içe toplama işlemlerinin yaygın kullanım senaryoları:
1. Her değeri ortalamaya göre karşılaştırma
2. Toplamın yüzde hesaplanması
3. Maksimum veya minimum değerlerden farkları bulma
Görev
KolayMevcut tablolar ve sütunlar:
<strong>items</strong>:<strong>id</strong>,<strong>price</strong>
Her bir öğenin fiyatının tüm öğelerin ortalama fiyatını ne kadar aştığını hesaplayın. Öğe ID'sini, fiyatını ve ortalamadan farkını görüntüleyin. Fark sütununu diff_from_avg olarak adlandırın.
Sonuçları farka göre azalan sırada sıralayın.
Kopya kağıdı
Bireysel satırları toplu değerlerle birleştirirken, iç içe sorgular kullanın çünkü toplu fonksiyonlar tüm sütunlar üzerinde çalışırken, normal sütunlar satır satır çalışır.
Bu çalışmayacak:
SELECT value + MIN(value)
FROM table1Bunun yerine iç içe bir sorgu kullanın:
SELECT value + (SELECT MIN(value) FROM table1)
FROM table1İç içe sorgu önce yürütülür ve ana sorguda her satır için kullanılabilecek tek bir değer döndürür.
Yaygın kullanım durumları:
- Her değeri ortalamaya karşılaştırma
- Toplamın yüzdesini hesaplama
- Maksimum veya minimum değerlerden farkları bulma
Kendin dene
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
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns