İlginizi Çekebilir
  1. Ana Sayfa
  2. SQL Server
  3. SQL Server Offset Fetch kullanımı

SQL Server Offset Fetch kullanımı

3204_3204_mssql-(1)-en-us-en-US

Bu yazıda, OFSET ve FETCH cümlelerini inceliyoruz. OFFSET ve FETCH, bir dizi kayıt almak için bir araç sağlamak üzere SELECT deyimi ORDER BY deyimi ile birlikte kullanılır.Dönecek başlangıç ​​satırı, OFFSET değeri ve bu noktadan döndürülecek maksimum satır sayısı FETCH tarafından belirlenir.

Söz dizimi aşağıdaki gibidir.

ORDER BY column_list [ASC |DESC]

OFFSET offset_row_count {ROW | ROWS}

FETCH {FIRST | NEXT} fetch_row_count {ROW | ROWS} ONLY

Bu sözdiziminde:

  • OFFSETdeyimi, sorgudan satır döndürmeye başlamadan önce atlanacak satır sayısını belirtir.offset_row_count , sıfıra eşit veya daha büyük olan bir sabit, değişken veya parametre olabilir.
  • FETCHdeyimi, OFFSET deyimi işlendikten sonra döndürülecek satır sayısını belirtir.offset_row_count bire eşit veya daha büyük olan sabit, değişken veya skaler olabilir.
  • FETCH deyimi isteğe bağlı iken OFFSET deyimi zorunludur. Ayrıca, FIRST ve NEXT sırasıyla eşanlamlıdır, böylece bunları birbirlerinin yerine kullanabilirsiniz. Benzer şekilde, FIRSTve NEXT değişmeli olarak kullanabilirsiniz.

Aşağıdaki OFFSET ve FETCH yan tümcelerini gösterir:

Resim-1

OFFSET ve FETCH yan tümceleri ORDER BY yan tümcesi ile kullanmanız gerektiğini unutmayın. Aksi takdirde, bir hata alırsınız.

OFFSET ve FETCH yan tümceleri, sorgu sayfalama çözümünü TOP yan tümcesinden daha fazla uygulamak için tercih edilir.

 OFFSET ve FETCH örnekleri

Örnek tablodaki products tablosunu tanıtım için kullanacağız.

Resim-2

Aşağıdaki sorgu, products tablosundaki tüm ürünleri döndürür ve ürünleri liste fiyatlarına ve adlarına göre sıralar:

SELECT
product_name,    list_price FROM    production.products
ORDER BY
list_price,
product_name;

Resim-3

İlk 10 ürünü atlayıp geri kalanını iade etmek için, OFFSET yan tümcesini aşağıdaki ifadede gösterildiği gibi kullanırsınız:

SELECT
product_name,    list_price FROM    production.products
ORDER BY
list_price,
product_name
OFFSET 10 ROWS;

Resim-4

İlk 10 ürünü atlayıp sonraki 10 ürünü seçmek için, hem OFFSET hem de FETCH yan tümcelerini kullanın:

SELECT
product_name,    list_price FROM    production.products
ORDER BY
list_price,
product_name
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;

Resim-5

En pahalı 10 ürünü almak için hem OFFSET hem de FETCH cümlelerini kullanırsınız:

SELECT
product_name,    list_price FROM    production.products
ORDER BY
list_price DESC,
product_name
OFFSET 0 ROWS
FETCH FIRST 10 ROWS ONLY;

Resim-6

Bu örnekte, ORDER BY cümlesi, ürünleri azalan sırayla liste fiyatlarına göre sıralar. Ardından, OFFSET deyimi sıfır satırı atlar ve FETCH deyimi listedeki ilk 10 ürünü alır.

Bu öğreticide, SQL Server OFFSET FETCH cümlelerini nasıl kullanacağınızı öğrendiniz

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar
www.mshowto.org
Referans-2

TAGs: SQL Server, , , , ,

Yorum Yap

Yazar Hakkında

Milenyumdan beri ilginç bir merak duygusu ile başlayan bilgisayar ve teknoloji dünyası merakı sayesinde eğitim yaşantımı doğup büyüdüğüm Düzce'de geçirdim. Sonrasında Düzce'nin kendimi geliştirmek adına yeterli imkanlara sahip olmadığından İstanbul'a gelip Bilge Adam Eğitim Kurumlarından Yazılım ve Veritabanı eğitimi aldım. Eğitimimi tamamlarken çeşitli Windows ve Web uygulamaları geliştirdim. Sırası ile Sentez Yazılım, Nebim Yazılım, Ciceksepeti, Doğan Holding, Kariyer.Net, TurkNet gibi firmalarında Yönetici / Müdür pozisyonlarında farklı ünvanlarda ( Yazılım Geliştirici / Raporlama ve Veritabanı Yöneticisi gibi) görev aldım. Şimdilerde ise DMC Bilgi Teknolojileri firmasının Kurucu Ortaklığını ve Veritabanı Danışmalığı Hizmeti vermekteyim.

Yorum Yap