Ana içeriğe atla

SQL OFFSET Nasıl Kullanılır

SQL OFFSET ifadesinde ustalaşın. ORDER BY ve LIMIT ile konuma göre değer döndürmeyi, web uygulamaları için veri sayfalama dâhil pratik örneklerle keşfedin.
Güncel 3 Eki 2026  · 10 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

SQL OFFSET, bir sorgu sonucunda belirli sayıda satırı atlamak için kullanılan güçlü bir ifadedir. Genellikle veri sayfalama için LIMIT ifadesiyle birlikte kullanılır.

Bu eğitim, OFFSET’in nasıl çalıştığını, pratik kullanım alanlarını ve SQL sorgularınızı optimize etmek için en iyi uygulamaları inceler. Başlamadan önce SQL işlemlerini gözden geçirmek isterseniz, SQL Temelleri Cheat Sheet’imize hızlıca bakın.

Kısa Cevap: SQL OFFSET Nasıl Kullanılır

SQL’de OFFSET ifadesi, sonuç kümesinde satır döndürmeden önce belirli sayıda satırı atlamak için kullanılır. Sonuçları sayfalara bölmek için sıklıkla LIMIT ifadesiyle birlikte kullanılır.

SELECT column_names
FROM table_name
ORDER BY column_name
LIMIT number_of_rows OFFSET offset_value;

Yukarıdaki SQL sorgusunda, number_of_rows döndürülecek satır sayısını, offset_value ise döndürülecek satırlardan önce atlanacak satır sayısını gösterir. 

OFFSET Nasıl Çalışır

OFFSET ifadesi, sonuç kümesinde belirtilen sayıda satırı atlar. ORDER BY ile kullanıldığında, genellikle bir sütun adıyla belirlenen bir düzende satırları atlayarak tutarlı sonuçlar elde edilmesini sağlar. Varsayılan olarak ORDER BY, belirtilen sütunu artan düzende döndürür.

Diyelim ki bir employees tablosundan şu sütunları sorgulamak istiyorsunuz: employee_id, first_name, last_name, phone_number ve salary. Ayrıca ilk 9 satırı sonuçlarınızdan hariç tutmak istiyorsunuz. Aşağıdaki SQL sorgusunu kullanırsınız.

-- Select all columns for employees, starting from the 10th row
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Order by employee_id to ensure consistent ordering
ORDER BY employee_id
-- Skip the first 9 rows
OFFSET 9 ROWS;

Benzersiz olmayan sıralama sütunları nedeniyle yinelenen kayıtları önlemek için dikkatli olunması gerektiğini unutmamak önemlidir.

LIMIT ve OFFSET’i Birlikte Kullanma

OFFSET genellikle, döndürülecek satır sayısını ve satırların nereden itibaren döndürüleceğini kontrol etmek için LIMIT ile birlikte kullanılır. 

Aşağıdaki örnekte, LIMIT ifadesi ilk 9 satır atlandıktan sonra yalnızca sonraki 10 satırı döndürür.

-- Select all columns for employees, starting from the 10th row and fetching the next 10 rows
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Order by employee_id to ensure consistent ordering
ORDER BY employee_id
-- Skip the first 9 rows
OFFSET 9
-- Fetch the next 10 rows
LIMIT 10;

OFFSET’in Pratik Kullanımları

SQL OFFSET, web uygulamalarında sayfalama için yaygın olarak kullanılır. Veri sayfalama, büyük verileri daha küçük parçalara bölme tekniğidir; bu da kullanıcıların büyük veri kümelerinde verimli şekilde gezinmesine yardımcı olur. 

Veri sayfalamayı, OFFSET ve LIMIT kullanımının en iyi örneklerinden biri olarak görüyorum. Bu teknikte, birlikte kullanılan OFFSET ve LIMIT ifadeleri, veriyi birden fazla sayfaya dağıtılan yönetilebilir parçalara ayırır.  

Bu, kullanıcı deneyimini iyileştirir; çünkü kimse tek seferde devasa bir listeyle bunalmış hissetmez. 

OFFSET’in diğer kullanım alanları şunlardır:

  1. Veri analizinde belirli kayıtları atlamak.
  2. Veriyi parça parça dışa aktarmaya hazırlamak (LIMIT ile birlikte kullanıldığında).
  3. Neyi aradığınızı bildiğiniz durumlarda belirli bir aralıktaki veriye odaklanmak. 

Veritabanına Özel Destek ve Alternatifler

MySQL, PostgreSQL ve SQLite dahil olmak üzere farklı veritabanları OFFSET ve LIMIT ifadelerini destekler. SQL Server gibi OFFSET ve LIMIT ifadelerini desteklemeyen veritabanları için FETCH gibi alternatif yöntemler kullanılabilir.

Örneğin, aşağıdaki sorgu (LIMIT kullanarak) MySQL, SQLite ve PostgreSQL veritabanlarında değer döndürür ancak SQL Server’da döndürmez.

-- Select all columns for employees, starting from the 10th row and fetching the next 10 rows
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Order by employee_id to ensure consistent ordering
ORDER BY employee_id
-- Skip the first 9 rows
OFFSET 9
-- Fetch the next 10 rows
LIMIT 10;

Bu nedenle, benzer sonuçları döndürmek için SQL Server’da aşağıdaki sorguyla FETCH kullanmalısınız;

-- Select specific columns for employees, starting from the 10th row and fetching the next 10 rows
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Order by employee_id to ensure consistent ordering
ORDER BY employee_id 
-- Skip the first 9 rows (starting from the 10th row)
OFFSET 9 ROWS 
 -- Fetch the next 10 rows
FETCH NEXT 10 ROWS ONLY;

İleri Teknikler: OFFSET ve FETCH

SQL standartlarında yer alan FETCH ifadesi, LIMIT’e gelişmiş bir alternatif olabilir. OFFSET atlanacak satır sayısını belirtirken, FETCH sorgudan döndürülecek satır sayısını belirtir.

-- Selecting columns from employees table
SELECT employee_id, first_name, last_name, phone_number, salary
FROM employees
-- Ordering the result set by employee_id for consistent pagination
ORDER BY employee_id
-- Skipping the first 20 rows in the result set
OFFSET 20 ROWS
-- Fetching the next 10 rows only after the offset
FETCH NEXT 10 ROWS ONLY;

Diğer ileri SQL tekniklerini Associate Data Analyst in SQL kursumuzda bulabilirsiniz.

Performansla İlgili Hususlar ve Diğer En İyi Uygulamalar 

OFFSET’i etkili kullanmak, sorgu performansı üzerindeki etkisini anlamayı gerektirir. 

OFFSET, özellikle büyük veri kümelerinde sorgu performansını etkileyebilir. SQL Server, sorgu önbellekleme ve yürütmeyi verimli şekilde ele alır; ancak büyük veri kümelerinde OFFSET kullanımı, Ortak Tablo İfadeleri (CTE’ler) veya geçici tablolar gibi ek optimizasyon stratejileri gerektirebilir. Bu nedenle, sorgu performansını izleyerek sorunları tespit etmeli ve sorgu yürütmeyi engelleyen darboğazları gidermelisiniz. DataCamp’in Intermediate SQL Server kursu, ortak tablo ifadeleri ve diğer ileri konulara ayrılmış bir bölüm içerir. 

Uygulamalarım sırasında edindiğim birkaç ek en iyi uygulama şunlardır.

  • Her zaman uygun bir ORDER BY ifadesi kullanın. Bu yaklaşım, kayıtların tutarlı biçimde sıralanmasını sağlar.
  • Dizinleme ve sorgu optimizasyonu tekniklerini göz önünde bulundurun. Bu yöntem, özellikle büyük veritabanlarıyla çalışırken performansın optimize edilmesini sağlar.

Sonuç ve İleri Öğrenme

LIMIT ile birlikte kullanılan OFFSET ifadesinde ustalaşmak, veriyi verimli yönetmek için kritik önemdedir. Bu ifadeleri SQL sorgularınızda deneyerek performansı iyileştirin ve kullanıcı deneyimini geliştirin. SQL’de OFFSET ifadesi hakkında daha fazla bilgi için DataCamp’in Intermediate SQL ve SQL Fundamentals kurslarını alabilirsiniz.

Aynı şekilde, SQL kullanarak veri analizi hakkında daha fazla bilgiyi Reporting in SQL kursumuzla edinebilirsiniz. Ayrıca, SQL projeleriyle uygulamalı becerilerinizi göstermek istiyorsanız, mülakatlarda öne çıkmanıza yardımcı olması için SQL Associate Certification almanızı öneririm.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Veri analitiği, iş zekâsı ve veri bilimi alanlarında pratik deneyime sahip Veri Bilimi Teknik Yazarı. SQL, Python, Power BI, Databricks ve veri mühendisliği üzerine, gerçek dünya analitik çalışmalarına dayanan, uygulamaya dönük ve sektöre odaklı içerikler yazıyorum. Yazılarım teknik derinlikle iş etkisi arasındaki köprüyü kurarak profesyonellerin veriyi güvenle karara dönüştürmelerine yardımcı olur.

Sıkça Sorulan Sorular

SQL’de OFFSET ifadesi nedir?

OFFSET ifadesi, bir sorguda sonuçlar döndürülmeden önce satırları atlamak için kullanılır.

Neden OFFSET ile birlikte ORDER BY kullanırız?

ORDER BY ifadesi olmadan sorgumuz çalışsa da çıktı tutarlı veya beklediğimiz gibi olmayabilir. ORDER BY olmadan OFFSET kullanmak, veritabanı motorunun takip edeceği belirli bir sıra olmadığı anlamına gelir ve bu da öngörülemeyen sonuçlara yol açabilir; bu yüzden sürpriz yaşamamak için ORDER BY kullanırız.

Neden SQL Server’da LIMIT ifadesi hata veriyor?

LIMIT ifadesi MySQL, PostgreSQL ve SQLite’ta desteklenir. SQL Server için FETCH kullanın.

OFFSET ile LIMIT arasındaki fark nedir?

OFFSET ifadesi, kayıtlar döndürülmeden önce belirtilen satırları atlar; LIMIT ifadesi ise döndürülecek kayıt sayısını sınırlar.

OFFSET sorgumun çalışması zaman alırsa ne olur?

Sorguyu Ortak Tablo İfadeleri (CTE’ler) veya geçici tablolar kullanarak optimize edebilirsiniz.

Konular
SQL
Veri Analizi

DataCamp ile SQL Öğrenin

Kurs

SQL’e Giriş

2 sa
1.6M
Sadece iki saat içinde SQL kullanarak ilişkisel veritabanlarını nasıl oluşturacağınızı ve sorgulayacağınızı öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör