Sıralama Yapmak
SELECT sütunlar FROM tablo_adı ve varsa koşulları
WHERE koşul şeklinde yazdıktan sonra
ORDER sütun_adı ile listenin neye göre sıralanacağını belirtiriz.
Aşağıdaki verilere sahip bir "uyeler" tablomuz olduğunu düşünürsek:
SQL Kodu
SELECT * FROM uyeler;
+----+-------+-----+
| id | isim | yas |
+----+-------+-----+
| 1 | Ali | 39 |
| 2 | Gözde | 28 |
| 3 | Sevim | 24 |
| 4 | Ayşe | 32 |
| 5 | Halil | 48 |
| 6 | Ece | 24 |
+----+-------+-----+
Sıralamanın -farklı bir kural belirtilmemişse- kayıt sırasına göre yapıldığını görebiliriz. Bu listeyi yaşa göre sıralamak istersek sorgunun sonuna
ORDER BY yas ekleriz:
Dikkat edilirse 24 yaşında iki üye var. Fakat Sevim'in kayıt numarası daha küçük olduğundan yukarıda görünüyor. Bu durumda ikinci bir sıralamada dikkat edilecek husus belirtmek istersek virgül koyarak diğer geçerli sütun adını yazarız:
SQL Kodu
SELECT * FROM uyeler ORDER BY yas;
+----+-------+-----+
| id | isim | yas |
+----+-------+-----+
| 3 | Sevim | 24 |
| 6 | Ece | 24 |
| 2 | Gözde | 28 |
| 4 | Ayşe | 32 |
| 1 | Ali | 39 |
| 5 | Halil | 48 |
+----+-------+-----+
Nitekim bu örnekte eğer "yas" sütunundaki veriler eşitse dikkat edilecek ikinci sütunun "isim" sütunu olacağını bildirdik. Yaptığımız 3 örnekte de sıralamanın sayılarda küçükten büyüğe, harflerde alfabetik olarak listelendiğini gördük. Eğer bu durumun tersini yapmak istiyorsak sütun adından sonra DESC eki getirmemiz yeterlidir. Örneğin yaşı büyükten küçüğe sıralayacak olursak:
SQL Kodu
SELECT * FROM uyeler ORDER BY yas DESC, isim;
+----+-------+-----+
| id | isim | yas |
+----+-------+-----+
| 5 | Halil | 48 |
| 1 | Ali | 39 |
| 4 | Ayşe | 32 |
| 2 | Gözde | 28 |
| 6 | Ece | 24 |
| 3 | Sevim | 24 |
+----+-------+-----+
Sonuçları Sınırlamak (LIMIT)
SELECT, FROM, WHERE, ORDER gibi kullanacağımız ne varsa kullandıktan sonra en son olarak sorgunun kaç kayıt göstereceğini öğrenmeye geldi. Normalde
LIMIT baslangic, adet belirtilmemişse ilgili tüm kayıtlar listelenecektir. Aşağıdaki sorguda sadece ilk 3 kaydı göstermesini LIMIT kullanarak sağladık:
SQL Kodu
SELECT * FROM uyeler
ORDER BY yas DESC, isim
LIMIT 0, 3;
+----+-------+-----+
| id | isim | yas |
+----+-------+-----+
| 5 | Halil | 48 |
| 1 | Ali | 39 |
| 4 | Ayşe | 32 |
+----+-------+-----+
LIMIT'te belirttiğimiz ilk değer başlangıç değeridir, kurala uyan sonuçlar bu sıradakinden başlar. Sonraki değer ise kaç adet kayıt gösterileceğidir.