Tavsiye, 2024

Editörün Seçimi

SQL'de Grupla Sıralama ve Sıralamada Fark

SQL, sorgu tarafından elde edilen verileri düzenlemenizi sağlar. Sorgudan elde edilen verileri Gruplara Göre ve Siparişe Göre cümlesi olarak düzenlemek için iki maddemiz var. Group By ve Order By yan tümcesini birbirinden ayıran nokta, Group By yan tümcesinin, toplu işlevi birden fazla tup setine uygulamak istediğimizde kullanıldığı ve Order By yan tümcesi, sorgunun elde ettiği verileri sıralamak istediğimizde kullanıldığıdır. Aşağıda gösterilen karşılaştırma çizelgesi yardımıyla Group By cümlesi ile Order By cümlesi arasındaki bazı farklılıkları tartışalım.

Karşılaştırma Tablosu

Karşılaştırma için temelGruplaTarafından sipariş
TemelGrupla, küme grubunun Grubunu oluşturmak için kullanılır.Sırala, bir sorgu sonucu elde edilen verileri Sıralama şeklinde sıralamak için kullanılır.
nitelikToplama işlevi altındaki öznitelik Group By yan tümcesinde olamaz.Toplam altında öznitelik yan tümce içinde olabilir.
ZeminÖznitelik değerleri arasındaki benzerlik temelinde yapılır.Yükselen düzen ve azalan düzen üzerinde yapılır.

Maddeye Göre Grup Tanımı

Avg, min, max, sum, count gibi toplu işlevler, tek bir küme grubuna uygulanır. Eğer toplama işlevlerini tuples grubuna uygulamak istiyorsanız, bunun için yan tümce grubumuz var. Yan tümce grubu aynı öznitelik değeri olan tuples gruplar.

Group By yan tümcesinde hatırlanması gereken bir şey var, Group By yan tümcesinin altındaki özniteliğin SELECT yan tümcesinde görünmesi gerekir, ancak toplama işlevi altında görünmemesi gerekir. Group By yan tümcesi SELECT yan tümcesinde veya SELECT yan tümcesinde ise ancak toplama işlevi altında bir öznitelik içeriyorsa, sorgu hatalı olur. Bu nedenle Group By yan tümcesinin her zaman SELECT yan tümcesiyle birlikte kullanıldığını söyleyebiliriz.

Group By yan tümcesini anlamak için bir örnek verelim.

SELECT Department _ID, avg (Maaş), Teacher Group tarafından avg_salary olarak, Department_ID tarafından.

Başlangıçta bölümleri gruplayan bir ara sonucun oluştuğunu görebilirsiniz.

Daha sonra, toplama fonksiyonu avg her bölüm grubuna uygulanır ve sonuç aşağıda gösterilmiştir.

Cümleye Göre Siparişin Tanımı

Sırala cümlesi, bir sorgu tarafından elde edilen verileri sıralanmış düzende görüntülemek için kullanılır. Grup cümlecikine göre, Order By cümlesi, SELECT deyimiyle birlikte de kullanılır. Sıralama düzeninden söz etmezseniz, Order By yan tümcesi verileri artan düzende sıralar. Artan sırada artan olarak ve azalan sırada azalan olarak belirleyebilirsiniz.

Aşağıdaki örnek yardımı ile Order By cümlesinin çalışmasını anlayalım. Bir Öğretmen masam var ve Öğretmen masasının Department_Id ve Maaş bölümlerini iki sıralamaya uygulayacağım.

Department_ID, Asistan, Maaş desc.

İlk önce _ID Departmanını artan düzende, ardından aynı departmandaki maaşları azalan düzende düzenler.

Gruba Göre ve Gruba Göre Anahtar Farklılıklar

  1. Grupla yan tümcesi, SELECT yan tümcesinde bulunan ilişkideki tuples kümesini gruplar. Öte yandan, Sıralama kriteri, sorgunun sonucunu artan veya azalan düzende sıralayın.
  2. Toplama işlevi altındaki özellik Group By cümlesi altında olamaz, oysa toplama işlevi altındaki özellik Order By cümlesi altında olabilir.
  3. Tuplerin gruplanması, tuples'in özellik değerleri arasındaki benzerlik temelinde yapılır. Diğer yandan, sıralama veya sıralama, artan düzen veya azalan düzen temelinde yapılır.

Sonuç:

Grup kümelerinin grubunu oluşturmak istiyorsanız, Grupla yan tümcesini kullanmanız gerekir. Tek bir sütunun verilerini düzenlemek istediğinizde, veya kümeler kümesindeki birden fazla sütunun artan veya azalan düzende düzenlenmesi isteniyorsa, Order By cümlesi kullanılmalıdır.

Top