SQL · 3/8
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.
Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.
Bu sayfada · 9 başlık
Başlamadan önce
Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.
Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

Videoyla adım adım izle
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
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.
Kod
SELECT ad, maas
FROM calisanlar
ORDER BY maas DESC
LIMIT 2;Beklenen sonucu oku
Gereksiz satırlar elenerek hafif bir sonuç döner.
Beklenen çıktı: 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.
Kod
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 çıktı: ad | maas Mehmet | 48000
Konu anlatımı
İ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.
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.
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.
İlk örneği oku ve dene
Sıralama ve sınırlama: ORDER BY & LIMIT
Sonuçları artan (ASC) veya azalan (DESC) sıraya koyar. LIMIT ise sadece ilk birkaç kaydı getirir.
SELECT ad, maas
FROM calisanlar
ORDER BY maas DESC
LIMIT 2;
▶ Sonuç
ad | maas Ahmet | 65000 Ayşe | 52000
Adım adım neden böyle çalışıyor?
- FROM calisanlar tablosu taranır.
- ORDER BY maas DESC kayıtları maaşlarına göre en yüksekten en düşüğe sıralar.
- LIMIT 2 sıralanmış listenin yalnızca ilk iki satırını kesip alır.
- Gereksiz satırlar elenerek hafif bir sonuç döner.
İkinci çözümlü örnek
Sorgu sonuçlarını belirli bir ölçüte göre sıralamak ve en üstteki kayıtları LIMIT ile sınırlandırmak.
SELECT ad, maas
FROM calisanlar
ORDER BY maas DESC
LIMIT 2;
▶ Sonuç
ad | maas Ahmet | 65000 Ayşe | 52000
Kolaydan zora sen dene
- Ç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.
- Fiyatı en yüksek 5 ürünü getiren örnek bir sorgu kur.
İpucunu aç
Alfabetik sıralama için ORDER BY ad ASC veya sadece ORDER BY ad yazabilirsin.
Üç görevin açıklamalı çözümünü oku
- ORDER BY ad ASC veya sadece ORDER BY ad alfabetik sıralama yapar.
- En düşük maaş için ORDER BY maas ASC LIMIT 1 yazılır.
- En yüksek 5 ürün için ORDER BY fiyat DESC LIMIT 5 yazılır.
Bir çözüm varyasyonu gör
Çözüm varyasyonu
Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları karşılaştır.
SELECT ad, maas
FROM calisanlar
ORDER BY maas ASC
LIMIT 1;
▶ Sonuç
ad | maas Mehmet | 48000
Yaygın hata ve çözümü
- LIMIT sözcüğünü ORDER BY'dan önce yazmak sözdizimi hatasıdır; LIMIT daima en sonda yer alır.
- Sıralama belirtmeden LIMIT kullanmak rastgele satırların gelmesine neden olur.
Kendini değerlendir
Ezberlemeden açıklayabiliyor musun?
ORDER BY yazılmazsa dönen kayıtların sırası garanti midir?
Açıklamalı yanıt
Hayır; ilişkisel veritabanlarında ORDER BY belirtilmedikçe satır sırası tamamen tanımsızdır.
Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.
Kaynak ve çalışma ortamı
Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.
Resmî dil belgeleriBu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.