MySQL Komutları
SQL'e Giriş
SQL Nedir?
MySQL Kurmak
Komut Kullanımı
Veritabanı Oluşturmak
Tablo Oluşturmak
Veri Eklemek
Sorgulama Yapmak
Kalıp İfadelerle Sorgu (pattern)
Bağlaçlar (Operatörler)
Sıralama Yapmak
Çeşitli Fonksiyonlar
Sütunları Adlandırmak
Veri/Kayıt Güncellemek
Tarihlerle İşlem
Veri / Tablo / Veritabanı Silmek

İleri Düzey SQL
Birden Fazla Tablo Sorgulama
Sonuca Başka Bir Tabloyu Katmak
Matematiksel İşlemler
Veri Türleri
Tüm Komutlar

Bağlantılar
HTML Dersleri
JavaScript Dersleri
CSS Dersleri
ASP Dersleri
PHP Dersleri
MySQL Komutları
jQuery Dersleri
Venus Programlama

Ana Sayfa Bize Ulaşın

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:

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:

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  |
+----+-------+-----+
   

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:

SELECT * FROM uyeler ORDER BY yas, isim;

+----+-------+-----+
| id | isim  | yas |
+----+-------+-----+
| 6  | Ece   | 24  |
| 3  | Sevim | 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:

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:

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.

Tüm hakları saklıdır. Lütfen kaynak belirtmeden sitenizde yayınlamayın. Web Sitesi © 2014