55  SQL Select Order by

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 CustomerId as Id,FirstName,LastName 
FROM Customer c 
ORDER BY Id
SELECT CustomerId,FirstName,LastName FROM Customer c 
ORDER BY Country , State, City
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
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:

SELECT CityId, CityName, OrderPriority from Cities
ORDER BY OrderPriority DESC, CityName ASC