Lewati ke konten utama

Cara Terbaik Menggunakan Klausa SQL LIMIT

Pelajari penerapan klausa SQL LIMIT untuk memfilter data. Kuasai penggunaan klausa LIMIT di database PostgreSQL dan MySQL.
· 8 mnt Baca

Jelajahi bersama AI

Klausa SQL LIMIT mengontrol jumlah rekaman yang dikembalikan dalam sebuah kueri. Sesuai namanya, klausa LIMIT membatasi baris yang ditampilkan setelah data difilter. Klausa ini penting saat menangani himpunan data berukuran besar, tetapi Anda hanya ingin mengambil bagian data tertentu.

Jika Anda ingin berkarier di bidang data, saya sangat merekomendasikan mengikuti kursus DataCamp Introduction to SQL dan SQL Fundamentals untuk memperoleh keterampilan SQL yang relevan bagi analisis data.

Jawaban Singkat: Apa itu Klausa SQL LIMIT?

Klausa SQL LIMIT adalah klausa yang berguna untuk menentukan jumlah rekaman yang harus dikembalikan sebuah kueri setelah data difilter. Teknik ini memungkinkan Anda menampilkan hanya sebagian data untuk keperluan tampilan atau analisis. Karena itu, klausa LIMIT penting untuk memecah data berukuran besar menjadi bagian-bagian lebih kecil dalam paginasi data. Klausa ini juga digunakan untuk optimasi kinerja agar terhindar dari kueri besar yang dapat memperlambat performa database.

Contoh di bawah menunjukkan penggunaan dasar klausa LIMIT untuk menampilkan hanya 10 rekaman teratas dari tabel employees.

-- Select all columns from the employees table
-- and limit the number of returned rows to 10.
SELECT * 
FROM employees
LIMIT 10;

Sintaks Klausa SQL LIMIT

Klausa SQL LIMIT disertakan dalam pernyataan SELECT untuk mengontrol jumlah rekaman yang dikembalikan dari sebuah kueri. Klausa LIMIT ditambahkan di akhir pernyataan untuk memfilter rekaman sesuai yang ditentukan. Anda juga dapat melihat SQL Basics Cheat Sheet dari DataCamp untuk mempelajari lebih lanjut tentang LIMIT dan klausa SQL umum lainnya.

-- Select columns column1, column2, ... from the table table_name
SELECT column1, column2, ...
FROM table_name
-- Limit the number of rows returned to number_of_rows
LIMIT number_of_rows;

Berikut ini klausa LIMIT dalam contoh praktis. Kueri akan menampilkan hanya 10 rekaman dari tabel employees pada kolom first_name, last_name, dan department.

-- Select first_name, last_name, and department from the employees table
SELECT first_name, last_name, department
FROM employees
-- Limit the number of rows returned to 10
LIMIT 10;

Terkadang, Anda dapat menggunakan klausa opsional OFFSET untuk melewati sejumlah baris tertentu sebelum menampilkan baris yang diinginkan. Sintaks OFFSET ditunjukkan di bawah.

-- Select column_names from the table table_name
SELECT column_names
FROM table_name
-- Arrange the results in ascending order based on column_name
ORDER BY column_name
-- Limit the number of rows returned to number_of_rows, starting from offset_value
LIMIT number_of_rows OFFSET offset_value;

Dalam kueri SQL di atas, number_of_rows menunjukkan jumlah baris yang akan dikembalikan, sedangkan offset_value menunjukkan jumlah baris yang harus dilewati kueri sebelum mengembalikannya. 

Contoh di bawah menunjukkan cara menggunakan klausa SQL OFFSET dan LIMIT untuk mengontrol jumlah baris yang dikembalikan. Sementara klausa LIMIT menentukan pengembalian 10 rekaman, klausa OFFSET dalam kueri melewati 5 rekaman pertama. Jadi, hasilnya akan menampilkan rekaman dari baris ke-6 hingga baris ke-15 (10 baris).

-- Select first_name, last_name, and department from the employees table
SELECT first_name, last_name, department
FROM employees
-- Limit the number of rows returned to 10, starting from the 6th row (offset of 5)
LIMIT 10 OFFSET 5;

Poin Penting yang Perlu Diingat tentang Klausa SQL LIMIT

Memahami cara mengimplementasikan klausa LIMIT dengan benar dan variasinya di berbagai database SQL sangat penting untuk mengoptimalkan kinerja kueri dan memastikan pengambilan data yang akurat. Mari kita lihat beberapa poin penting.

Penempatan klausa LIMIT dalam pernyataan SELECT

Klausa LIMIT biasanya ditempatkan di akhir pernyataan SELECT setelah klausa FROM. Jika Anda menggunakan klausa agregasi opsional lainnya seperti WHERE, GROUP BY, dan klausa ORDER BY, pastikan klausa LIMIT berada di akhir kueri.

-- Select all columns from the employees table
SELECT *
FROM employees
-- Limit the number of rows returned to 5, starting from the 21st row (offset of 20)
LIMIT 10 OFFSET 20;

Mengombinasikan LIMIT dengan klausa ORDER BY

Klausa LIMIT dapat dikombinasikan dengan agregasi ORDER BY untuk hasil yang konsisten dan dapat diprediksi. Teknik ini memastikan data diurutkan dalam urutan tertentu sebelum diambil. Pada contoh di bawah, kita mengurutkan data berdasarkan hire_date secara menurun sebelum menampilkan baris yang telah difilter.

-- Select all columns from the employees table
SELECT *
FROM employees
-- Arrange the results in descending order based on hire_date
ORDER BY hire_date DESC
-- Limit the number of rows returned to 10
LIMIT 10;

Saya merekomendasikan mengikuti jalur karier DataCamp Associate Data Analyst in SQL dan kursus Reporting in SQL untuk mempelajari lebih jauh fungsi agregat dan penerapannya dalam analisis data.

Variasi dan sintaks LIMIT di berbagai database

Contoh di atas menunjukkan penggunaan klausa SQL LIMIT pada database PostgreSQL, SQLite, dan MySQL yang mendukungnya.

Untuk mencapai hasil serupa di SQL Server, pertimbangkan menggunakan fungsi TOP untuk mengontrol jumlah rekaman yang dikembalikan dari data tertentu.

-- Select the top 10 records of first_name, last_name from the employees table
SELECT TOP 10 first_name, last_name
FROM employees
-- Arrange the results in descending order based on hire_date
ORDER BY hire_date DESC;

Demikian pula, database Oracle mendukung penggunaan FETCH FIRST n ROWS ONLY untuk mengontrol jumlah rekaman yang dikembalikan dalam sebuah kueri.

-- Select the first_name and last_name columns from the employees table
SELECT first_name, last_name
FROM employees
-- Order the results in descending order based on hire_date
ORDER BY hire_date DESC
-- Limit the number of rows returned to the first 10 rows
FETCH FIRST 10 ROWS ONLY;

LIMIT dan OFFSET dalam paginasi

SQL LIMIT dan OFFSET biasanya dikombinasikan untuk mencapai paginasi data yang efisien. Teknik ini memastikan himpunan data besar dipecah menjadi bagian-bagian kecil yang mudah dikelola untuk tampilan yang sesuai.

Pada contoh di bawah, klausa LIMIT dan OFFSET membatasi baris yang ditampilkan menjadi 10 tetapi dimulai dari baris ke-21.

-- Select all columns from the employees table
SELECT *
-- Arrange the results in descending order based on hire_date
FROM employees
ORDER BY hire_date DESC
-- Limit the number of rows returned to 10, starting from the 21st row (offset of 20)
LIMIT 10 OFFSET 20;

Kasus Penggunaan Umum Klausa SQL LIMIT

  • Paginasi: Jika digabungkan dengan klausa OFFSET, klausa LIMIT digunakan dalam aplikasi web untuk paginasi data. Teknik ini menampilkan data dalam potongan/subset yang lebih kecil, seperti pada halaman web yang berbeda.
  • Optimasi Kinerja: Klausa LIMIT dapat meningkatkan kinerja kueri dengan mengurangi beban pada server database. Hal ini dicapai dengan mengambil dan mengembalikan subset data yang lebih kecil secara bersamaan.
  • Pengambilan Sampel Data: Klausa LIMIT berguna dalam analisis data dengan mengambil subset data yang lebih kecil. Metode ini membantu analis data meningkatkan kinerja selama proses analisis.

Keterbatasan Perintah SQL LIMIT

Keterbatasan klausa SQL LIMIT meliputi hal-hal berikut:

  • Tidak Didukung oleh Semua Database: Klausa LIMIT tidak didukung di semua database. Misalnya, klausa LIMIT tidak tersedia di database SQL Server dan Oracle.
  • Masalah Kinerja dengan Nilai OFFSET yang Besar: Menggunakan nilai OFFSET yang besar dapat memperlambat server database, sehingga eksekusi kueri menjadi lebih lambat.

Untuk menghindari keterbatasan di berbagai database, pertimbangkan menggunakan alternatif berikut.

Klausa TOP di SQL Server

Klausa TOP memberikan hasil yang sama seperti klausa LIMIT untuk database SQL Server.

-- Select the top 10 rows from the employees table ordered by hire_date
SELECT TOP 10 first_name, last_name
FROM employees
ORDER BY hire_date DESC;

FETCH FIRST n ROWS ONLY di SQL Server dan DB2

FETCH FIRST n ROWS ONLY juga mengembalikan hasil yang serupa dengan klausa LIMIT untuk database SQL Server dan DB2.

-- Select the first 10 rows from the employees table ordered by hire_date
SELECT first_name, last_name
FROM employees
ORDER BY hire_date DESC
FETCH FIRST 10 ROWS ONLY;

ROWNUM di Oracle

Di database Oracle, fungsi ROWNUM mengontrol jumlah rekaman yang dikembalikan dari data. Fungsi ini dikombinasikan dalam subkueri untuk memfilter data sesuai kebutuhan.

-- Select the top 10 rows from the employees table ordered by hire_date
SELECT * FROM (
    SELECT first_name, last_name
    FROM employees
    ORDER BY hire_date DESC
) WHERE ROWNUM <= 10;

Kesimpulan

Klausa SQL LIMIT penting untuk membatasi jumlah baris yang ditampilkan setelah mengambil data dari database. Sebagai praktisi data, penting untuk memahami berbagai kasus penggunaan klausa LIMIT untuk analisis dan manipulasi data. Demikian pula, Anda harus mempertimbangkan dukungan database terhadap klausa LIMIT dan menggunakan fungsi alternatif lainnya saat menggunakan database yang tidak kompatibel seperti SQL Server dan Oracle.

Untuk memahami berbagai penerapan klausa SQL LIMIT, Anda perlu terus berlatih dengan berbagai himpunan data. Kursus DataCamp Learn SQL dan Intermediate SQL sesuai untuk memperoleh keterampilan SQL tingkat lanjut. Saya juga merekomendasikan mengikuti SQL Associate Certification dari DataCamp untuk menunjukkan pengetahuan Anda dalam menggunakan SQL dan unggul di antara para praktisi data lainnya.

Allan Ouko

Penulis

Allan Ouko

Penulis teknis Data Science dengan pengalaman langsung dalam analitik data, business intelligence, dan data science. Saya menulis konten praktis berfokus industri tentang SQL, Python, Power BI, Databricks, dan rekayasa data, yang berakar pada pekerjaan analitik dunia nyata. Tulisan saya menjembatani kedalaman teknis dan dampak bisnis, membantu para profesional mengubah data menjadi keputusan yang meyakinkan.

Pertanyaan yang Sering Diajukan

Apa kegunaan fungsi SQL LIMIT?

Fungsi SQL LIMIT mengontrol jumlah baris yang dikembalikan dari data yang telah difilter.

Apa penggunaan utama SQL LIMIT?

SQL LIMIT terutama digunakan untuk paginasi data pada halaman web guna membatasi jumlah baris yang ditampilkan.

Apakah klausa SQL LIMIT didukung di semua database?

Fungsi SQL LIMIT hanya didukung di database PostgreSQL, MySQL, dan SQLite. Klausa ini tidak didukung di database SQL Server dan Oracle.

Apa alternatif klausa LIMIT di database yang tidak mendukungnya?

Alternatif fungsi SQL LIMIT di SQL Server adalah klausa TOP dan FETCH FIRST n ROWS ONLY. Database Oracle menggunakan fungsi ROWNUM sebagai alternatif LIMIT.

Apa kegunaan OFFSET dalam klausa SQL LIMIT?

Kita dapat menggunakan OFFSET untuk menentukan jumlah baris yang akan dilewati sebelum mengembalikan sejumlah baris tertentu dari klausa LIMIT.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Spaghetti Plot dan Jalur Badai

blogs

Tutorial Korelasi di R