ORDER BY Elemanı
SELECT sorgusu ile çektiğimiz kayıtları (sonuç kümesini) sıralamak için ORDER BY anahtar kelimesini kullanırız. Bu sıralama belirtilen kolona göre yapılır. Ve varsayılan olarak artan (küçükten büyüğe) sıradadır. ORDER BY için sözdizimi (syntax – sintaks) aşağıdaki gibidir:
SELECT kolon_adı(ları) FROM tablo_adı ORDER BY kolon_adı(ları) ASC|DESC
Burada sıralamanın azalan (büyükten küçüğe) şekilde olmasını istiyorsak DESC anahtar kelimesini kullanırız. Artan şekilde olması için ASC yazmamız veya hiç bir şey yazmamamız yeterlidir.
Örnek sorgularımız için kullanacağımız Uyeler tablosu:
| uye_adi | isim | soyisim | e-posta | cinsiyet |
|---|---|---|---|---|
| osman.e | Osman | Erol | osman.e@osman.com | E |
| derya.z | Derya | Zar | derya.z@derya.com | K |
| meryem.a | Meryem | Ar | meryem.a@meryem.com | K |
| emre.a | Emre | Aydın | emre.a@emir.com | E |
| levent.d | Levent | Deniz | levent.d@levent.com | E |
SELECT isim, soyisim FROM uyeler ORDER BY isim
| isim | soyisim |
|---|---|
| Derya | Zar |
| Emre | Aydın |
| Osman | Erol |
| Levent | Deniz |
| Meryem | Ar |
Görüldüğü gibi sonuç kümesi isim kolonuna küçükten büyüğe göre sıralandı.
SELECT isim, soyisim FROM uyeler ORDER BY soyisim DESC
| isim | soyisim |
|---|---|
| Derya | Zar |
| Osman | Erol |
| Levent | Deniz |
| Emre | Aydın |
| Meryem | Ar |
Bu sorgu ile de sonuç kümesini soyisim kolonuna göre azalan (büyükten küçüğe) şekilde sıralamış olduk.
Aşağıdaki sorguyu da Personel tablomuz için yazalım:
| per_no | isim | soyisim | yas | cinsiyet | kent | ulke | maas |
|---|---|---|---|---|---|---|---|
| 1 | Ahmet | Yılmaz | 20 | E | Ankara | Türkiye | 2000 |
| 2 | Mehmet | Efe | 22 | E | Bolu | Türkiye | 1800 |
| 3 | Ayşe | Can | 23 | K | İstanbul | Türkiye | 2500 |
| 4 | Fatma | Ak | 35 | K | Ankara | Türkiye | 2800 |
| 5 | John | Smith | 45 | E | New York | ABD | 3500 |
| 6 | Ellen | Smith | 40 | K | New York | ABD | 3000 |
| 7 | Hans | Müller | 30 | E | Berlin | Almanya | 4000 |
| 8 | Frank | Cesanne | 35 | E | Paris | Fransa | 3700 |
| 9 | Abbas | Demir | 26 | E | Adana | Türkiye | 1500 |
| 10 | Hatice | Yılmaz | 26 | K | İstanbul | Türkiye | 3000 |
Erkeklerden Türkiye’de olanları aldıkları maaşa göre artan şekilde sıralayan sorgu:
SELECT * FROM personel WHERE cinsiyet='E' AND ulke='Türkiye' ORDER BY maas
| per_no | isim | soyisim | yas | cinsiyet | kent | ulke | maas |
|---|---|---|---|---|---|---|---|
| 9 | Abbas | Demir | 26 | E | Adana | Türkiye | 1500 |
| 2 | Mehmet | Efe | 22 | E | Bolu | Türkiye | 1800 |
| 1 | Ahmet | Yılmaz | 20 | E | Ankara | Türkiye | 2000 |
Görüldüğü gibi ORDER BY anahtar kelimesi her zaman sorgunun sonuna geliyor. Çünkü sorgunun kendisi sonuç kümesini belirlerken ORDER BY yalnızca bu sonuç kümesini sıralıyor.
Hiç yorum yok:
Yorum Gönder