Memahami LIMIT dan OFFSET SQLite dalam Pertanyaan
SQLite, pangkalan data hubungan popular, menawarkan dua cara untuk menyekat bilangan baris yang dikembalikan oleh pertanyaan: LIMIT
dan OFFSET
. Walaupun fungsinya serupa, sintaksnya berbeza, yang berpotensi menyebabkan kekeliruan.
Variasi Sintaksis
Sintaks pertama, LIMIT <skip>, <count>
, menentukan bilangan baris untuk dikembalikan (count
) bermula pada offset yang diberikan (skip
) dari permulaan set hasil.
Yang kedua, LIMIT <count> OFFSET <skip>
, mencapai hasil yang sama tetapi membentangkan parameter dalam susunan yang berbeza. Ia mengembalikan count
baris, bermula pada baris skip
ke-.
Keserasian dan Amalan Terbaik
SQLite menyokong kedua-dua sintaks, warisan keserasiannya dengan sistem pangkalan data lain seperti MySQL dan PostgreSQL. MySQL menerima kedua-duanya, manakala PostgreSQL hanya menyokong borang LIMIT <count> OFFSET <skip>
.
Untuk mengelakkan kekaburan, SQLite mengesyorkan sintaks kedua (LIMIT <count> OFFSET <skip>
). Yang penting, sintaks ini mesti digunakan dengan ORDER BY
untuk menjamin pemilihan baris yang konsisten. Tanpa ORDER BY
, susunan baris yang dikembalikan tidak dapat diramalkan.
Contoh Ilustrasi
Mari kita periksa pertanyaan ini terhadap jadual "Haiwan":
<code class="language-sql">SELECT * FROM Animals LIMIT 100 OFFSET 50</code>
Ini mendapatkan semula 100 baris, bermula dari baris ke-51 (ingat, OFFSET
bermula pada 0).
<code class="language-sql">SELECT * FROM Animals LIMIT 100, 50</code>
Pertanyaan ini, walaupun sintaks berbeza, menghasilkan hasil yang sama: 100 baris bermula dari baris 51.
Pengambilan Utama
FasalSQLite LIMIT
dan OFFSET
, walaupun alat berkuasa untuk kawalan set hasil, boleh mengelirukan kerana sintaks dwi. Untuk kejelasan dan hasil yang boleh diramal, gunakan LIMIT <count> OFFSET <skip>
secara konsisten bersama dengan ORDER BY
.
Atas ialah kandungan terperinci Bagaimanakah Klausa LIMIT dan OFFSET SQLite Berbeza, dan Sintaks Yang Harus Saya Gunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!