SQLite - klausa ORDER BY: Mengurutkan Data Anda Dengan Mudah

Hai teman-teman, para ahli basis data masa depan! Hari ini, kita akan mendalami salah satu alat paling berguna dalam kotak peralatan SQLite Anda: klausa ORDER BY. Pada akhir panduan ini, Anda akan mampu mengurutkan data seperti seorang ahli, mengesankan teman Anda dan mungkin bahkan kucing Anda (walaupun kucing terkenal sulit untuk diimpress).

SQLite - ORDER By Clause

Apa Itu Klausa ORDER BY?

Sebelum kita masuk ke detailnya, mari pahami apa yang klausa ORDER BY lakukan. Bayangkan Anda memiliki lemari yang kacau (kita semua pernah melihatnya). Klausa ORDER BY seperti organisator pribadi Anda, membantu Anda mengatur pakaian Anda (atau dalam kasus ini, data) dalam urutan tertentu. Itu bisa berurutan abjad, numerik, atau bahkan berdasarkan tanggal Anda terakhir memakai kaos Hawaian yang menarik itu.

Dalam istilah basis data, ORDER BY memungkinkan Anda mengurutkan hasil query SQL Anda dalam urutan menaik atau menurun berdasarkan satu atau lebih kolom. Itu seperti meminta basis data Anda, "Hey, bisakah Anda susun informasi ini rapih untuk saya?"

Sintaks: Resep untuk Pengurutan sempurna

Mari kita lihat sintaks dasar klausa ORDER BY:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

Jangan khawatir jika ini terlihat seperti sup huruf saat ini. Kita akan membongkarannya:

  1. SELECT column1, column2, ...: Ini adalah tempat Anda menentukan kolom mana yang ingin Anda lihat.
  2. FROM table_name: Ini mengatakan ke SQLite dari tabel mana data harus diambil.
  3. ORDER BY column1, column2, ...: Ini adalah bintang pertunjukan kita! Itu mengatakan ke SQLite bagaimana mengurutkan hasilnya.
  4. [ASC|DESC]: Ini opsional. ASC berarti urutan menaik (A ke Z, 1 ke 100), dan DESC berarti urutan menurun (Z ke A, 100 ke 1). Jika Anda tidak menentukan, SQLite menganggap Anda ingin urutan menaik.

Contoh: Melihat ORDER BY Dalam Aksi

Sekarang, mari kita kerjakan tangan dan lihat beberapa contoh dunia nyata. Bayangkan kita memiliki tabel yang disebut students dengan kolom: id, name, age, dan grade.

Contoh 1: Pengurutan Dasar

Mulai dengan yang sederhana dengan mengurutkan murid-murid kita berdasarkan nama:

SELECT * FROM students ORDER BY name;

Query ini akan mengembalikan semua kolom untuk semua murid, diurutkan secara abjad berdasarkan nama. Itu seperti berbaris untuk foto kelas, tapi dalam bentuk basis data!

Contoh 2: Urutan Menurun

Mungkin kita ingin melihat murid-murid diurutkan dari Z ke A:

SELECT * FROM students ORDER BY name DESC;

Sekarang foto kelas kita memiliki 'Z' nama di baris depan. Ambil itu, Aaron Aardvark!

Contoh 3: Pengurutan Berdasarkan Kolom Ganda

Mari kita menjadi kaya dan urutkan berdasarkan nilai (menurun) dan kemudian berdasarkan nama (menaik):

SELECT * FROM students ORDER BY grade DESC, name ASC;

Query ini pertama-tama mengelompokkan murid-murid berdasarkan nilai (tertinggi pertama) dan kemudian secara abjad dalam setiap nilai. Itu seperti mengatur upacara penghargaan sekolah.

Contoh 4: Pengurutan Dengan Kondisi

Kita dapat menggabungkan ORDER BY dengan klausa SQL lainnya. Mari kita temukan semua murid di atas 18 tahun dan urutkan mereka berdasarkan umur:

SELECT * FROM students WHERE age > 18 ORDER BY age;

Query ini sempurna untuk merencanakan perjalanan lapangan "hanya dewasa" (jangan lupa izinnya!).

Teknik Tingkat Lanjut: Menambah Keterampilan Pengurutan Anda

Menggunakan Ekspressi

Anda tidak terbatas hanya pada nama kolom dalam ORDER BY. Anda juga dapat menggunakan ekspressi:

SELECT name, grade FROM students ORDER BY grade * 2;

Ini mengurutkan berdasarkan nilai ganda. Mengapa? Well, mengapa tidak? Kadang-kadang dalam pemrograman, kita melakukan hal-hal karena kita bisa!

Pengurutan dengan NULL Values

NULL nilai bisa sulit. Secara default, SQLite menganggap NULL lebih kecil dari nilai lainnya. Tetapi Anda dapat mengubah ini:

SELECT * FROM students ORDER BY grade NULLS LAST;

Ini menempatkan semua murid yang lupa melakukan tugas (nilai NULL) di akhir daftar.

Panduan Terbaik: Do's dan Don'ts Pengurutan

  1. Ya gunakan indeks pada kolom yang sering Anda urutkan. Itu seperti memberikan SQLite lembaran cheat untuk pengurutan yang lebih cepat.
  2. Jangan terlalu sering gunakan ORDER BY pada dataset besar tanpa paginasi. Basis data Anda mungkin memberontak (dan dengan memberontak, saya maksud bahwa itu mungkin lambat).
  3. Ya pertimbangkan dampak performa saat mengurutkan berdasarkan kolom yang dihitung atau ekspressi.
  4. Jangan lupa bahwa ORDER BY biasanya adalah klausa terakhir dalam pernyataan SELECT (kecuali LIMIT).

Kesimpulan: Anda Sekarang Seorang Superstar Pengurutan!

Selamat! Anda baru saja meningkatkan keterampilan SQLite Anda. Klausa ORDER BY mungkin tampak sederhana, tetapi itu adalah alat yang sangat kuat dalam senjata manipulasi data Anda. Ingat, dengan kekuatan yang besar datang tanggung jawab besar - gunakan keterampilan pengurutan Anda secara bijaksana!

Sekarang, mari kita rangkum ORDER BY variasi yang kita pelajari:

Sintaks Deskripsi Contoh
ORDER BY column Pengurutan menaik dasar ORDER BY name
ORDER BY column DESC Pengurutan menurun ORDER BY age DESC
ORDER BY column1, column2 Pengurutan kolom ganda ORDER BY grade, name
ORDER BY ekspressi Pengurutan berdasarkan nilai dihitung ORDER BY grade * 2
ORDER BY ... NULLS LAST Pengendalian posisi NULL ORDER BY grade NULLS LAST

Ingat, latihan membuat sempurna. Jadi, pergi dan urutkan, teman-teman! Data Anda menunggu untuk diatur, dan Anda sekarang memiliki keterampilan untuk melakukannya. Selamat berkarya!

Credits: Image by storyset