Fetch dan Offset pada Sql Server yang harus diketahui
Fetch dan Offset pada Sql Server yang harus diketahui

Fetch dan Offset pada Sql Server yang harus diketahui – DML #3

Diposting pada

malasngucap.com – FETCH dan OFFSET dalam Sql Server mungkin sedikit terdengar asing buat anda. Kebanyakan dari anda menggunakan TOP dalam menampilkan beberapa data dalam database di Sql Server. Pada kesempatan kali ini saya akan mencoba membahas Apa itu FETCH dan OFFSET dalam Sql Server.

Apa itu Fetch dan Offset ?

Bagi anda yang belum pernah atau mungkin belum tahu kegunaan Fetch dan Offset tidak perlu khawatir. Saya akan mencoba menjelaskan apa itu kegunaan Limit dan Offset.

Fetch dan Offset opsi turunan dari ORDER BY yang memungkinkan kita untuk membatasi jumlah row yang akan di tampilkan.

Simple nya adalah FETCH dan OFFSET dalam Sql Server ini penggunaannya sama dengan LIMIT dan OFFSET dalam database mysql. Mari Kita Perhatikan Penggunaan nya :

Limit dan Offset di Mysql

Penggunan Limit dan Offset pada Mysql

Fetch dan Offset di Sql Server

Penggunaan Fetch dan Limit pada SQL SERVER

Setelah kita lihat perbandingan koding di atas, sebenarnya sedikit berbeda teknik nya antara mysql dan Sql Server dalam coding limit dan offset ini. Akan tetapi menghasilkan return nilai yang sama.

Saya Akan jelaskan sedikit pengertian Coding Penggunaan Fetch dan Limit pada SQL server ini :

  • ORDER BY adalah untuk mengurutkan data sesuai yang kita inginkan baik itu secara Ascending (A-Z) atas descending (Z-A).
  • OFFSET adalah sebuah klausa yang berguna untuk menentukan jumlah baris yang akan kita lewati, sebelum kita memulai untuk menampilkan kembali baris selanjutnya / baris yang akan di request untuk di tampilkan.
  • FETCH adalah sebuah klausa yang gunanya untuk mengembalikan atau menampilkan row setelah klausa OFFSET dikirim.
  • OFFSET klausa ini harus anda ketikan / wajib jika kita mau menampilkan data. Sedangkan Fetch klausa ini tidak perlu di ketik jika anda tidak ingin menggunakannya atau bersifat optional.

Jika anda masih belum memahaminya silahkan lihat ilustrasi dibawah ini :

Fetch dan Offset SQL Server

Yang perlu diperhatikan adalah kita harus menggunakan klusa FETCH dan OFFSET pada ORDER BY ini. Jika kita tidak menggunakannya maka yang terjadi adalah error dalam codingan anda.

FETCH DAN OFFSET sendiri menurut saya adalah klausul yang sangat menarik untuk digunakan daripada TOP klausul. Terutama bagi anda yang ingin menggunakan paging Query dengan Sql Server.

Contoh Penggunaan FETCH dan LIMIT dalam SQL SERVER

Setelah saya menjelaskan apa itu FETCH dan LIMIT dalam Sql Server, serta perbedaannya dengan Mysql. Sekarang saya akan mencoba memberikan sebuah contoh penggunaan FETCH dan LIMIT dalam SQL Server.

Pada contoh ini saya akan menampilkan data master Produk yang ada di dalam Database :

Query menampilakn semua data dalam tabel Products
Menampilkan semua data dalam tabel products

Selanjutnya adalah saya akan mencoba melakukan paging query dengan menggunakan klausa FETCH dan OFFSET yang sudah kita pelajari dengan awalan / Offset dimulai dari row ke 3 dan akan di tampilkan atau Fetch sebanyak 5 rows. Berikut ini adalah codingnya :

Query menampilkan Paging data dengan OFFSET dan FETCH di Sql Server

Maka Hasilnya adalah sebagai berikut :

Record yang tampil setelah data di Pagging

Kesimpulan

Pada gambar hasil di atas, saya rasa cukup jelas penggunaan dari klausa FETCH dan OFFSET pada Sql Server. Dimana tadi saya mau menampilkan data dengan batas Offset di row ke 3, yang artinya data akan di tampilkan mulai dari Row ke 4. Dan selanjutnya saya akan menampilkan sebanyak 5 Rows saja dari row ke 4. yang artinya data yang di tampilkan adalah Rows 4,5,6,7,8.

Anda bisa mencoba nya sendiri dengan database yang anda punya. Semoga tutorial saya ini bermanfaat untuk anda semua. Terima kasih.