SQL, atau bahasa kueri terstruktur, memungkinkan kita mengumpulkan data dari database melalui kueri. Ini juga memungkinkan kita untuk memasukkan, memperbarui, dan menghapus data itu.
Dalam posting blog ini, kami akan fokus pada cara mengambil data dan membatasi hasil menggunakan SQL.
Mengapa Anda harus membatasi hasil kueri SQL?
Database biasanya merupakan kumpulan data yang sangat besar. Terkadang kita tidak perlu mengambil semua hasil. Untuk membatasi hasil, kami dapat mengoptimalkan kueri.
Membatasi hasil kueri penting untuk kinerja DB. Mengambil hasil yang besar saat tidak diperlukan menimbulkan beban tambahan pada database dan memengaruhi pengalaman pengguna.
Cara membatasi hasil kueri dalam SQL
Sintaksnya berbeda untuk SQL Server, Oracle, dan MySQL untuk membatasi data.
- MySQL menggunakan
LIMIT
. - ORACLE menggunakan
FETCH FIRST
. - MS Access dan SQL Server menggunakan
TOP
.
Kita akan melihat contoh bagaimana masing-masing bekerja secara detail di bawah ini.
Database Demo
Kami memiliki tabel berikut bernama students
dengan detailnya seperti yang Anda lihat di bawah ini:
ID | Nama | Jenis Kelamin |
---|---|---|
1 | Ryan | M |
2 | Joanna | B |
3 | Miranda Andersen | B |
4 | Dalia Mata | B |
5 | Lilianna Boyd | B |
6 | Lexie Sharp | M |
7 | Jazlene Cordova | B |
8 | Brycen Werner | M |
9 | Karissa Turner | B |
10 | Aisha Dodson | B |
11 | Aydin Reeves | M |
Cara membatasi kueri di MySQL
Di bawah ini adalah sintaks untuk MySQL.
SELECT (expression)
FROM
table_name
LIMIT 5;
Sebagai contoh, kita akan memilih 5 record pertama dari tabel.
Mari kita gunakan tabel students
untuk demonstrasi ini.
-- fetch top 5 values from table
SELECT * FROM students
LIMIT 5;
Keluaran:
Cara Menggabungkan LIMIT dengan ORDER BY
Saat Anda menggabungkan LIMIT dengan ORDER BY, Anda bisa mendapatkan hasil yang lebih berarti. Misalnya, kita dapat menggunakan ini untuk menemukan 5 siswa teratas yang mendapat nilai lebih dari 70% pada ujian mereka.
Ayo pesan meja kami students
dengan kolom name
dan pilih 5 teratas dari hasilnya. Anda dapat melakukannya seperti ini:
SELECT * FROM students
order by name
LIMIT 5;
Keluaran:
Cara membatasi hasil – sintaks Oracle
Di bawah ini adalah sintaks yang setara untuk contoh pertama kami di Oracle.
SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;
Dalam versi Oracle yang lebih lama, Anda dapat menggunakan ROWNUM untuk membatasi jumlah baris yang dikembalikan oleh kueri.
Contoh:
SELECT * FROM
students
WHERE ROWNUM < 5;
Cara membatasi hasil dalam SQL – sintaks MS Access
Di bawah ini adalah sintaks yang setara untuk contoh pertama kami di MS Access.
SELECT TOP 5 * FROM students;
Menutup
Fungsionalitas LIMIT bisa sangat berguna untuk pengoptimalan kueri saat dikombinasikan dengan pengurutan. Kueri yang efisien lebih ringan pada sistem dan cepat bagi pengguna. Selalu disarankan untuk MEMBATASI hasil jika memungkinkan.