55 SQL Select Order by
- Sıralama ORDER BY kullanılarak bir veya daha fazla sütun ile yapılabilir.
Sorguda order by kullanılmazsa, veritabanı motoru sonuç kümesini istediği sırada döndürmekte serbesttir.
SELECT * FROM Customer c
order by FirstName
SELECT * FROM Customer c
order by Country , State, City
- SELECT sırasında oluşturulan takma adlar (alias) kullanılabilir.
SELECT CustomerId as Id,FirstName,LastName
FROM Customer c
ORDER BY Id
- SELECT ile alınmayan sütunlar kullanılabilir.
SELECT CustomerId,FirstName,LastName FROM Customer c
ORDER BY Country , State, City
- ASC (Ascending,Artan) veya DESC (Descending,Azalan) olarak belirtilebilir.
- ASC varsayılan kelimedir.
SELECT CustomerId,FirstName,LastName FROM Customer c
ORDER BY CustomerId DESC
SELECT CustomerId,FirstName,LastName FROM Customer c
ORDER BY Country DESC, State DESC, City DESC
- Sütun adı yerine, sonuç kümesindeki sütun numarası kullanılabilir. Bu özellikle karışık fonksiyonlar select içinde kullanıldığında kullanışlıdır.
SELECT CustomerId,FirstName,LastName FROM Customer c
ORDER BY 1 DESC
Çoğu kullanıcı sonuç kümesinin sıralı olmasını beklediğinden, tablo ve diğer listelerde ORDER BY kullanılmalıdır. Örneğin, şehirlere göre sıralamanın basit bir kullanıcı arayüzü kullanımıdır. Bir adres seçimi açılır kutu listesinde, en önemli şehirleri ilk olarak görmek isteriz.
Aşağıdaki örneklerde, şehirlerin yalnızca isimlerine göre sıralandığını görüyoruz.
SELECT CityId, CityName from Cities
ORDER BY CityName
Kullanıcıların çoğu İstanbul ve Ankara’dan geleceği için bu sıralama çok iyi değildir. Sorguyu değiştirelim, böylece bu iki şehir sonuç kümesinde ilk sırada gelecektir. Şehirler tablosuna OrderPriority (sıralama önceliği) sütununu eklememiz gerekiyor. Ve bu sütun için İstanbul ve Ankara’ya değerler ekleyin. Çünkü İstanbul ve Ankara’nın OrderPriority değerleri diğer şehirlere göre daha yüksektir, şehir listesini aşağıdaki gibi görürüz:
- İstanbul
- Ankara
- Adana
- …
SELECT CityId, CityName, OrderPriority from Cities
ORDER BY OrderPriority DESC, CityName ASC