SQL ORDER BY Kullanımı
SQL ORDER BY Kullanımı
ORDER BY ifadesi kayıtları belirtilen alanda büyükten küçüğe veya küçükten büyüğe göre sıralar. ASC (ascending) parametresi ile küçükten büyüğe, DESC (descending) parametresi ile büyükten küçüğe göre sıralar. Burada sadece sayısal alanlar değil metinsel alanlarda alfabetik olarak sıralanabilir.
ORDER BY Kullanım Biçimi
SELECT alan_adi1,alan_adi2 FROM tablo_adi ORDER BY alan_adi2 ASC SELECT alan_adi1,alan_adi2 FROM tablo_adi ORDER BY alan_adi2 DESC |
Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
2 | Ayhan ÇETİNKAYA | Kocaeli | İdari İşler Yöneticisi | 2345678 |
3 | Serkan ÖZGÜREL | Erzincan | Muhasebe | 3456789 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
Örnek1:
SELECT * FROM Personel ORDER BY Meslek_Kodu ASC
Bu kod tablodaki Meslek_Kodu alanına göre kayıtları küçükten büyüğe doğru alır.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
2 | Ayhan ÇETİNKAYA | Kocaeli | İdari İşler Yöneticisi | 2345678 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
3 | Serkan ÖZGÜREL | Erzincan | Muhasebe | 3456789 |
Örnek2:
SELECT * FROM Personel ORDER BY Adi_soyadi DESC
Bu kod Adi_soyadi alanına göre kayıtları büyükten küçüğe yani Z harfinden A harfine doğru dizer. .
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
3 | Serkan ÖZGÜREL | Erzincan | Muhasebe | 3456789 |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
2 | Ayhan ÇETİNKAYA | Kocaeli | İdari İşler Yöneticisi | 2345678 |
Örnek3:
SELECT * FROM Personel Where Sehir='İstanbul' ORDER BY Meslek_kodu ASC
Bu kod Sehir alanında İstanbul yazan kayıtları seçer. ORDER BY ise sadece bu seçili olan kayıtlar üzerinde Meslek_kodu alanını baz alarak küçükten büyüğe doğru sıralama yapar.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
Örnek4:
SELECT * FROM Personel ORDER BY Meslek_Kodu ASC, Bolum DESC
Bu kod tablodaki Meslek_Kodu alanına göre kayıtları küçükten büyüğe doğru sıralanırken aynı koda sahip kayıt olduğunda Bolum alanı dikkate alınır. Bolum alanı ise DESC yani büyükten küçüğe doğru sıralanır. İlgili tabloda 2345678 nolu meslek kodundan iki tane vardır. Bu durumda Bolum alanı kendi içinde büyükten küçüğe doğru sıralanacaktır. Alfabede "İ" harfi "B" harfinden sonra geldiği için daha büyük kabul edilir ve sıralama işlemi yapılır.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
2 | Ayhan ÇETİNKAYA | Kocaeli | İdari İşler Yöneticisi | 2345678 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
3 | Serkan ÖZGÜREL | Erzincan | Muhasebe | 3456789 |
Örnek5:
SELECT * FROM Personel ORDER BY Meslek_Kodu, Bolum ASC
Bu kod tablodaki Meslek_Kodu alanına ve Bolum kodu alanına göre kayıtları küçükten büyüğe doğru sıralama yapılır. Öncelikli olarak Meslek_kodu alanına göre sıralama yapılır. Daha sonra aynı meslek koduna sahip alanlardan Bolum alanına bakarak sıralama yapılır.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
2 | Ayhan ÇETİNKAYA | Kocaeli | İdari İşler Yöneticisi | 2345678 |
3 | Serkan ÖZGÜREL | Erzincan | Muhasebe | 3456789 |