Ana içeriğe atla

SQL Sıralama İşlemleri

Bir alışveriş sitesine girip ürünleri listelerseniz önünüze o kadar fazla ve karışık veri gelebilir ki bu karmaşıklık içinden çıkamayıp sıralamalara başvurursunuz. Bazen cebinizdeki paraya göre sıralama yaparsınız, bazen de zamanınız bol olduğunda alfabetik sıralayıp tüm ürünleri incelersiniz. Ama çoğu durumda sıralama işlemi size zaman kazandırır ve ya belirli bir konuda anlık bilgiler edinmenizi sağlar.
SQL Sıralama Örneği


Bu alışveriiş sitelerindeki ürünlerin de sql tablolarında tutulduğunu göz önünde bulundurursak burada bir sıralama işleminden bahsedebiliriz. İşte bu makalemizde de SQL'de sıralama işlemlerinin nasıl yapıldığından bahsedeceğim. 
Konuya açıklarken SQL konusunda temel bilgilere sahip olduğunuzu düşünerek konuyu anlatacağım. Bu temel konular arasında da en azından SQL Select kullanımını bildiğinizi varsayacağım... Konuya odaklanabilmek için karmaşık sql sorgularından kaçınarak sadece sıralamanın nasıl yapıldığına odaklanacağım.
SQL sıralama işlemleri için SQL dilinde ORDER BY deyimi kullanılır. Bu deyimin aynı zamanda iki parametresi de olabilir. Bu parametreler ascending(ASC) ve descening(DESC) parametreleridir. Bu parametreler de sıralamanın artan ve azalan sırada sıralanacağını belirtmek için kullanılır. SQL veri tiplerini tablo tasarımından alarak veri tiplerine göre sıralamayı da otomatik yapar. Örneğin string yani metin sıralamasını alfabetik sıralama ile yaparken, rakamları da büyüklük ve küçüklüğüne göre sıralar.
NOT: Varsayılan değer olarak ORDER BY artan sırada sıralama yapar ve bu yüzden ASC kullanımı zorunlu değildir. Ama bir sorguda bir kaç kolona göre sıralama işlemi yapılacaksa hangi kolona göre artan, hangi kolona göre azalan sırada sıralama yapılacağı belirtilmelidir...
İsterseniz bu kısa anlatımdan sonra örnek üzerinden devam edelim. Örnek için İller tablosunu kullanacağım. İller tablosu yandaki küçük tablodur. Tabloda Il ID'si, İl Adı ve İl Kodu alanları tutuluyor. Gördüğüüz gibi şuanda iller isim sıralamasına göre sıralanmış durumda. Örnek olabilmesi aşısında bu tablo üzerinde tüm olabilecek sıralama sorgularını aşağıda yazmaya çalıştım.
1. İl ID'sine göre küçükten büyüğe sıralama
SELECT * FROM ILLER ORDER BY ID

2. İl ID'sine göre büyükten küçüğer sıralama
SELECT * FROM ILLER ORDER BY ID DESC

3. İl Adına göre alfabetik sırada sıralama 
SELECT * FROM ILLER ORDER BY ADI

4. İl Adına göre ters alfabetik sırada sıralama 
SELECT * FROM ILLER ORDER BY ADI DESC

5. İl Koduna göre göre küçükten büyüğe sıralama
SELECT * FROM ILLER ORDER BY KODU

6.  İl Koduna göre büyükten küçüğer sıralama
SELECT * FROM ILLER ORDER BY KODU DESC

İsterseniz sıralama işleminde bir kaç kolonun birlikte kullanıldığı örneği de inceleyelim. Aslında bu tablo yapısı bir kaç kolonun birlikte kullanıldığı sıralama işlemi için uygun değil. Bunun nedeni ise ORDER BY deyiminde bir kaç kolon kullandığımızda önceliğin birinci yazılan parametreye verilmesidir. Birinci verilen kolona göre eşitlik sağlandığında sadece ikinci kolonun değerleri karşılaştırılır. 
7. Önce il kodu göre büyükten küçüğesıralama, sonra da il adına göre alfabetik sıralama.
SELECT * FROM ILLER ORDER BY KODU DESC, ADI ASC
veya
SELECT * FROM ILLER 
ORDER BY KODU DESC
ORDER BY ADI ASC

Umarım makalem faydalı olmuştur. Makalenin eksikleri ve anlamadığınız noktalarla ilgili bana yazabilirsiniz. 

Yorumlar

Bu blogdaki popüler yayınlar

Azərbaycan Dilində Vurğu Qəbul Etmeyen Şekilçiler

Sözlərdə hecalardan birinin digərlərinə nisbətən daha qüvvətli deyilməsinə heca vurğusu deyilir. Üzərinə vurğu düşən hecaya isə vurğulu heca deyilir. Azərbaycan dilində vurğu adətən söz sonuna düşür. Söz şəkilçi qəbul ederkən vurğu adətən şəkilçinin üzərinə keçir. Məsələn: çiç ə k - çiçəkl ə r - çiçəklərd ə n məkt ə b - məktəbl i - məktəblil ə r - məktəblilərd ə n Buna baxmayaraq dilimizdə bir sıra şəkilçilər var ki onlar vurğu qebul etmirlər. Bu məqalədə Azərbaycan dilində vurğu qebul etməyən şəkilçilər incələnəcək ve bu şekilçilərin hansı hallarda vurğu qebul edib hansı hallarda vurğu qebul etmediyi araşdırılacaqdır. Eyni zamanda bildirmək istəyirəm ki vurğu ilə bağlı daha geniş və ətraflı məlumat üçün Azərbaycan Dilində Vurğunun Praktik Məsələləri adlı məqaləyə də nəzər yetirə bilərsiniz.  1. İsimlərdəki şəxs(xəbərlik) şəkilçiləri Məsələn: müəli'məm müəli'msən müəli'mdir müəli'mik müəli'msiniz müəli'mdirlər Qeyd: -dır4

Ağaçlar Kireçle veya Badana İle Neden Boyanır?

Ağaçlar kireçle boyanmasının veya badana yapılmasının hem çevreye hem de doğaya, ağaçlara faydası var. Bu makalede bu geleneği enine boyuna tartışmaya çalıştık. Ağaca zarar veren mikrop ve bakterileri öldürür. Ağacı çok aşarı soğuk havalarda ve çok aşırı sıcak havalarda korur. Ağacın çürümesini ve kurtlanmasını önler. Ağacın gövdesinin alabileceği zararları en az düzeyde düşürmeyi sağlar. Hoş, güzel, hijyenik, temiz pırıl pırıl bir görüntü oluşturur. Ayrıca çok sıcak havalarda da ağacı yanmaya karşı korumak. En büyük etkisi soğuk havalarda ağacı don vurmalarına karşı korumak . Küresel ısınma göz önüne alındığında mevsim değişiklikleri ani don, ani ısı artışları ve azalışları sonucunun doğuracağı etkenler için yararlı etkin bir yöntem. Gövdeden obur dalların çıkmasını azaltmak için sürülür. Kireçleme ağaçları güneş yanığından korumak için yapılıyor. Ağaçlar da güneşten yanabiliyorlar. Bu arada odun dokudaki gözenekleri doldurarak kapattığı için, zararlıların yuv

Medyan (Ortanca) Nedir? Nasıl Hesaplanır? Nerelerde Kullanılır?

Medyan işlemi olasılık hesaplamalarında sıkça kullanılan bir sayı dizisinin ortalamasını hesaplamak için alternatif yöntemlerden bir tanesidir. Ortanca medyan işleminin diğer adıdır. Matematiksel olarak medyan işlemi bir sayı dizisi küçükten büyüğe sıralayarak ortada kalan elemanı medyan değeri olarak belirleme işlemidir. Örnek verecek olursak: 2, 1, 5, 4, 5, 1, 2, 3, 5 serisi sıralanırsa 1, 1, 2, 2, 3, 4, 5, 5, 5 serisi elde edilir. Bu seri 9 elemanlı olduğundan ortadaki, yani 5. eleman (medyan) olacaktır. 5. eleman 3 sayısıdır. Yani ortanca değeri 3'dür Eleman sayısı tek sayı olan bir seride medyan değerin sırasının hesaplaması şu şekilde formüle edilir. Medyanın Sırası = (Eleman Sayısı + 1) / 2 Bu formülü yukarıdaki örneği uygulayacak olursak; Medyanın Sırası = (9 + 1) / 2 = 5 Veri serisi eleman sayısı bir çift sayı ise bu durumda serinin 2 medyanı olacaktır. Örneğin 2, 1, 5, 4, 5, 1, 2, 3, 5, 4 serisi sıralandığında 1, 1, 2, 2, 3, 4, 4, 5, 5, 5 s