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 |