Halo teman-teman semuanya, di seri kelima ini kita akan belajar tentang bagaimana cara mengatur urutan tampilan data serta membatasi jumlah data yang ditampilkan menggunakan SQL.
Dalam dunia nyata, seringkali kita ingin menampilkan data secara terurut — misalnya dari yang terbaru, yang termuda, atau hanya beberapa data saja di halaman pertama.
Untuk itu, kita akan menggunakan klausa ORDER BY, LIMIT, dan OFFSET.
1. ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan satu atau lebih kolom. Secara default, urutan adalah menaik (ascending), tetapi kita juga bisa membuatnya menurun (descending).
Sintaks:
SELECT * FROM nama_tabel ORDER BY nama_kolom ASC;
SELECT * FROM nama_tabel ORDER BY nama_kolom DESC;
-
Contoh Tabel siswa
CREATE TABLE siswa (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(50),
umur TINYINT,
kelas VARCHAR(10)
);
INSERT INTO siswa (nama, umur, kelas) VALUES
('Ali', 18, 'XII IPA 1'),
('Budi', 17, 'XI IPS 2'),
('Citra', 19, 'XII IPA 3'),
('Dewi', 16, 'X IPS 1'),
('Eko', 18, 'XII IPS 1');
-
Contoh 1: Urut Berdasarkan Umur (ASC)
SELECT * FROM siswa ORDER BY umur ASC;
Hasil:
id |
nama |
umur |
kelas |
4 |
Dewi |
16 |
X IPS 1 |
2 |
Budi |
17 |
XI IPS 2 |
1 |
Ali |
18 |
XII IPA 1 |
5 |
Eko |
18 |
XII IPS 1 |
3 |
Citra |
19 |
XII IPA 3 |
-
Contoh 2: Urut Berdasarkan Umur (DESC) dan Nama (ASC)
SELECT * FROM siswa ORDER BY umur DESC, nama ASC;
Hasil:
id |
nama |
umur |
kelas |
3 |
Citra |
19 |
XII IPA 3 |
1 |
Ali |
18 |
XII IPA 1 |
5 |
Eko |
18 |
XII IPS 1 |
2 |
Budi |
17 |
XI IPS 2 |
4 |
Dewi |
16 |
X IPS 1 |
2. LIMIT
Klausa LIMIT digunakan untuk membatasi jumlah data yang ditampilkan.
Contoh:
SELECT * FROM siswa ORDER BY umur ASC LIMIT 3;
Hasil: (3 siswa termuda)
id |
nama |
umur |
kelas |
4 |
Dewi |
16 |
X IPS 1 |
2 |
Budi |
17 |
XI IPS 2 |
1 |
Ali |
18 |
XII IPA 1 |
3. OFFSET
OFFSET digunakan untuk melewati sejumlah data di awal, biasanya digunakan untuk keperluan pagination.
Contoh:
SELECT * FROM siswa ORDER BY umur ASC LIMIT 2 OFFSET 2;
Hasil: (2 siswa setelah melewati 2 termuda)
id |
nama |
umur |
kelas |
1 |
Ali |
18 |
XII IPA 1 |
5 |
Eko |
18 |
XII IPS 1 |
Kombinasi LIMIT dan OFFSET
SELECT * FROM siswa ORDER BY nama ASC LIMIT 2 OFFSET 0; -- Halaman 1
SELECT * FROM siswa ORDER BY nama ASC LIMIT 2 OFFSET 2; -- Halaman 2
Ini sangat berguna jika kita ingin menampilkan data per halaman, misalnya di dalam tabel HTML dengan fitur pagination.
Kesimpulan
Dalam artikel ini, kita telah mempelajari cara mengatur urutan data menggunakan ORDER BY, serta membatasi dan mengatur tampilan data dengan LIMIT dan OFFSET.
Teknik ini sangat penting, terutama ketika kita bekerja dengan tabel besar atau ingin membuat fitur pagination di aplikasi.
Di seri berikutnya, kita akan membahas tentang fungsi agregat seperti COUNT, SUM, AVG, MIN, dan MAX, yang digunakan untuk menganalisis data.
Terima Kasih