ORDER BY anahtar sözcüğü, verileri artan ya da azalan düzende sıralamak için kullanılır.
ORDER BY komutu, kayıtları varsayılan olarak artan sırada sıralar. Kayıtları azalan sırada sıralamak için DESC ifadesini kullanır.
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
Örnek tablo üzerinde kullanalım.
KullaniciID |
Ad |
Soyad |
Adres |
Sehir |
Postakodu |
Ulke |
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
İstanbul |
34000 |
Türkiye |
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Artvin |
08300 |
Türkiye |
3 |
John |
Doupoint |
Claremont Rd no:8/3 |
Newcastle |
NE2 4AA |
İngiltere |
4 |
Gustavo |
Alfaro |
Cuero y Caicedo, Quito |
New York |
170129 |
Amerika |
5 |
Abel |
Gigli |
Dagmada Waaberi 324/5 |
Moskova |
Jh09010 |
Rusya |
6 |
Xiao |
Chu |
Unnamed Road |
Pekin |
Jk07320 |
Çin |
7 |
Osman |
Ebuselim |
Shara Zaviya Dahmani PO:928 |
Doha |
243512 |
Katar |
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Münih |
81825 |
Almanya |
Aşağıdaki SQL ifadesi, "Ülke" sütununa göre sıralanmış "Müşteriler" tablosundaki tüm müşterileri seçer:
SELECT * FROM Musteriler
ORDER BY Ulke ;
Birden fazla sütuna göre Order by komutu kullanılabilir. İlk koşulda döndürülen veriler aynı ise ikinci koşul belirtilen sütuna göre sıralamaya devam eder.
Aşağıdaki SQL ifadesi, "Ulke" ve "Ad" sütununa göre sıralanmış tablosundaki tüm müşterileri seçer. Ülkeye göre sipariş sıralama yapılacağını gösterir ancak veriler aynı değere sahipse bunları Ad ’a göre sıralar:
SELECT * FROM Musteriler
ORDER BY Ulke, Ad;
Aşağıdaki SQL deyimi, "Müşteriler" tablosundan tüm müşterileri seçer, "Ulke" ye göre artan ve "Ad" sütununa göre azalan sıralanır:
SELECT * FROM Musteriler
ORDER BY Ulke ASC, Ad DESC;
İçerik: YUSUF ERDOĞAN