Penjelasan sederhana
LIMIT membatasi berapa banyak baris yang ditampilkan. Kalau hasil query ada 1.000 baris dan kamu hanya butuh 10, cukup tambahkan LIMIT 10.
Biasanya LIMIT dipasangkan dengan ORDER BY untuk mencari "Top N": urutkan dulu dari yang terbesar, lalu ambil beberapa baris teratas. Contohnya 5 produk terlaris atau 3 karyawan bergaji tertinggi.
Sintaks
SELECT kolom
FROM nama_tabel
ORDER BY kolom DESC
LIMIT jumlah [OFFSET lewati];
| Bagian | Keterangan |
|---|---|
jumlah | Banyaknya baris maksimal yang ditampilkan. |
OFFSET lewati | Opsional. Lewati sejumlah baris dulu, berguna untuk paging (halaman 2, 3, dst). |
Tanda [kurung siku] berarti bagian opsional. Kata kunci SQL tidak membedakan huruf besar-kecil, tapi menulisnya dengan huruf besar membuat query lebih mudah dibaca.
Contoh LIMIT
Data contoh: karyawan
Tabel karyawan
| id | nama | dept_id | kota | gaji | tgl_masuk | atasan_id |
|---|---|---|---|---|---|---|
| 1 | Andi Pratama | 3 | Bandung | 12500000 | 2019-03-11 | NULL |
| 2 | Bunga Lestari | 1 | Jakarta | 9800000 | 2020-07-01 | NULL |
| 3 | Candra Wijaya | 3 | Bandung | 8200000 | 2021-02-15 | 1 |
| 4 | Dewi Anggraini | 2 | Jakarta | 7500000 | 2022-05-09 | 6 |
| 5 | Eko Saputra | 1 | Jakarta | 6900000 | 2023-01-16 | 2 |
| 6 | Fajar Nugroho | 2 | Surabaya | 11000000 | 2018-09-03 | NULL |
| 7 | Gita Permata | 3 | Jakarta | 8200000 | 2023-08-21 | 1 |
| 8 | Hendra Gunawan | NULL | Medan | 5500000 | 2024-04-02 | NULL |
SELECT nama, gaji
FROM karyawan
ORDER BY gaji DESC
LIMIT 3;
Hasil 3 baris
| nama | gaji |
|---|---|
| Andi Pratama | 12500000 |
| Fajar Nugroho | 11000000 |
| Bunga Lestari | 9800000 |
Tiga karyawan dengan gaji tertinggi.
Cara kerjanya, langkah demi langkah
FROM karyawanlaluSELECT nama, gaji: 8 baris disiapkan.ORDER BY gaji DESC: baris diurutkan dari gaji terbesar ke terkecil.LIMIT 3: hanya 3 baris teratas yang diambil: Andi (12,5 juta), Fajar (11 juta), dan Bunga (9,8 juta).
Dipakai untuk apa di kantor?
- Menampilkan 10 pelanggan dengan belanja terbanyak.
- Mengintip beberapa baris contoh dari tabel yang sangat besar.
- Membuat halaman 1, 2, 3 (paging) di aplikasi dengan
LIMITdanOFFSET.
Kesalahan yang sering terjadi
- Memakai
LIMITtanpaORDER BY. Baris yang terambil jadi acak, bukan yang teratas. - Lupa bahwa SQL Server tidak mengenal
LIMIT. Di sana dipakaiSELECT TOP 3 ....
Operator Aritmatika