COMPUTER ENGINEER

Örneklere git
Blog
SQL Server / T-SQL6 dk çalışma
11/ 65

Sorgulama ve aggregation

ORDER BY, TOP ve sayfalama

Deterministik sıralama olmadan güvenilir ilk sayfa olmaz.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

ORDER BY, sonucu ASC veya DESC sıralar. Eşit değerler için benzersiz bir ek anahtar yazmazsan satırların kendi arasındaki sıra belirsizdir. TOP, ORDER BY yokken iş anlamında “en büyük” veya “en yeni” demek değildir. WITH TIES, son seçilen sıralama değeriyle eşit olanları da döndürebilir.

OFFSET/FETCH sayfalama sağlar ama büyük offset değerleri çok satır atlamayı gerektirebilir. Keyset sayfalama, son görülen anahtardan devam eder. İki yöntemde de eşzamanlı eklemelerin ve sıralama sütunu değişikliklerinin kullanıcı deneyimini etkileyebileceğini düşün.

NERESİNDE KULLANIRSIN?

Liste ekranları, en yüksek değerler ve kararlı sayfalama için.

SIK YAPILAN HATA

ORDER BY olmadan TOP kullanıp sonuçların hep aynı geleceğini beklemek.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
SELECT TOP (3) ProductName, Price FROM lab.Product ORDER BY Price DESC, ProductId;

Laptop, Monitor ve Desk en pahalı üç üründür.

Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.

02 / SIRA SENDE

Önce kendin dene.

En düşük fiyatlı üç ürünü benzersiz sıralamayla listele.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
SELECT TOP (3) ProductName, Price FROM lab.Product ORDER BY Price, ProductId;

Notebook, Cable, Mouse. PostgreSQL/MySQL’de benzer sınırlama için LIMIT kullanılır.