Öğren · Dene · Üret
SQL · Sıralama ve sınırlama: ORDER BY & LIMIT — videolu atölye
Adım adım Türkçe görsel rehber. Her bölümden sonra duraklat ve kendi ortamında dene.
4:35 dk · Sessiz görsel anlatım · Duraklatıp kodu veya adımı kendin dene.
Bölümler
Videoyu metin olarak oku
Sıralama ve sınırlama: ORDER BY & LIMIT
Sorgu sonuçlarını belirli bir ölçüte göre sıralamak ve en üstteki kayıtları LIMIT ile sınırlandırmak.
Kavramı kur
İlişkisel veritabanları kayıtları disk üzerinde rastgele veya ekleme sırasına göre saklar; sen açıkça sıralama istemedikçe sonuçların belirli bir sırada geleceği garanti edilemez. Sıralama yapmak için ORDER BY kullanılır.
Neden böyle çalışıyor?
ORDER BY varsayılan olarak artan (ASC - A'dan Z'ye, küçükten büyüğe) sıralar. Azalan sıralama (Z'den A'ya, büyükten küçüğe) için sütun adının yanına DESC yazılır.
Çalışma sırası
Web sayfalarında sayfalama yaparken veya en yüksek puanlı ilk kayıtları alırken LIMIT kullanılır. ORDER BY ve LIMIT birlikte kullanıldığında en iyi/en son kayıtları kolayca alırsın.
İkinci örnek · 1
FROM calisanlar tablosu taranır. Kodun tamamı yazılı derste bulunur.
SELECT ad, maas
FROM calisanlar
ORDER BY maas DESC
LIMIT 2;Beklenen sonucu oku
Gereksiz satırlar elenerek hafif bir sonuç döner.
Beklenen: ad | maas Ahmet | 65000 Ayşe | 52000
Bir değeri sen değiştir
Çalışanları ada göre alfabetik (A-Z) sıralayan sorguyu yaz. En düşük maaş alan ilk çalışanı bulmak için ORDER BY maas ASC LIMIT 1 kullan.
Hata nereden gelir?
LIMIT sözcüğünü ORDER BY'dan önce yazmak sözdizimi hatasıdır; LIMIT daima en sonda yer alır.
Kendi çözümünü kur
Fiyatı en yüksek 5 ürünü getiren örnek bir sorgu kur. Alfabetik sıralama için ORDER BY ad ASC veya sadece ORDER BY ad yazabilirsin.
Çözüm varyasyonu · 1
Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.
SELECT ad, maas
FROM calisanlar
ORDER BY maas ASC
LIMIT 1;Kendini kontrol et
ORDER BY yazılmazsa dönen kayıtların sırası garanti midir? Yanıt: Hayır; ilişkisel veritabanlarında ORDER BY belirtilmedikçe satır sırası tamamen tanımsızdır.
Beklenen: ad | maas Mehmet | 48000
Bu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.