SQLite - ORDER BY Klausul: Menyusun Data Anda Dengan Mudah

Halo sana, para ahli basis data masa depan! Hari ini, kita akan mendalami salah satu alat paling berguna dalam kotak peralatan SQLite Anda: klausal ORDER BY. Pada akhir panduan ini, Anda akan bisa mensortir data seperti seorang ahli, mempesona teman Anda dan mungkin bahkan kucing Anda (meskipun kucing terkenal sulit dipesona).

SQLite - ORDER By Clause

Apa Itu Klausal ORDER BY?

Sebelum kita masuk ke hal yang membingungkan, mari kita pahami apa klausal ORDER BY lakukan. Bayangkan Anda memiliki lemari yang kacau (kita semua pernah melihat itu). Klausal ORDER BY seperti organisator pribadi Anda, membantu Anda mengatur pakaian Anda (atau dalam kasus ini, data) dalam urutan tertentu. Itu bisa berurutan abjad, nomor, atau bahkan berdasarkan tanggal Anda terakhir memakai kaos Hawaian yang meragukan itu.

Dalam istilah basis data, ORDER BY memungkinkan Anda mensortir 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 Penyusunan yang sempurna

Mari kita lihat sintaks dasar klausal ORDER BY:

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

Jangan khawatir jika ini tampak seperti sup abjad saat ini. Kita akan memecahkannya:

  1. SELECT column1, column2, ...: Ini adalah tempat Anda menentukan kolom mana yang Anda ingin lihat.
  2. FROM table_name: Ini mengatakan ke SQLite basis data mana yang harus diambil data dari.
  3. ORDER BY column1, column2, ...: Ini bintang utamanya! Itu mengatakan ke SQLite bagaimana mensortir 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: Penyusunan Dasar

Mari kita mulai sederhana dengan mensortir murid-murid kita berdasarkan nama:

SELECT * FROM students ORDER BY name;

Query ini akan mengembalikan semua kolom untuk semua murid, disusun 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 yang disusun dari Z ke A:

SELECT * FROM students ORDER BY name DESC;

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

Contoh 3: Penyusunan Berdasarkan Beberapa Kolom

Mari kita menjadi keren dan mensortir berdasarkan nilai (menurun) dan kemudian berdasarkan nama (menaik):

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

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

Contoh 4: Penyusunan Dengan Kondisi

Kita dapat mengkombinasikan ORDER BY dengan klausal SQL lain. Mari kita temukan semua murid di atas 18 tahun dan mensortir mereka berdasarkan umur:

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

Query ini sempurna untuk merencanakan perjalanan lapangan "hanya dewasa" (jangan lupa surat izin!)

Teknik Tingkat Lanjut: Menambah Skill Penyusunan Anda

Menggunakan Ekspression

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

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

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

Penyusunan Dengan NULL Values

NULL values bisa sulit. Secara default, SQLite menganggap NULL lebih kecil dari nilai lain. 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.

Praktek Terbaik: Do's dan Don'ts Penyusunan

  1. Ya gunakan indeks pada kolom yang sering Anda susun. Itu seperti memberikan SQLite sebuah catatan Cheat untuk penyusunan yang lebih cepat.
  2. Jangan terlalu gunakan ORDER BY pada dataset besar tanpa paginasi. Basis data Anda mungkin memberikan kesalahan (dan kesalahan ini berarti bahwa ia mungkin lambat).
  3. Ya pertimbangkan dampak pada kinerja saat mensortir berdasarkan kolom yang dihitung atau ekspresi.
  4. Jangan lupa bahwa ORDER BY biasanya adalah klausal terakhir dalam pernyataan SELECT (kecuali LIMIT).

Kesimpulan: Anda Sekarang Seorang Superstar Penyusunan!

Selamat! Anda baru saja meningkatkan skill SQLite Anda. Klausal 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 skill penyusunan Anda secara bijaksana!

Sekarang, mari kita rangkum apa yang kita pelajari:

Sintaks Deskripsi Contoh
ORDER BY column Penyusunan menaik dasar ORDER BY name
ORDER BY column DESC Penyusunan menurun ORDER BY age DESC
ORDER BY column1, column2 Penyusunan multi-kolom ORDER BY grade, name
ORDER BY ekspresi Penyusunan berdasarkan nilai yang dihitung ORDER BY grade * 2
ORDER BY ... NULLS LAST Mengontrol posisi NULL ORDER BY grade NULLS LAST

Ingat, latihan membuat sempurna. Jadi, maju dan susun, teman-teman! Data Anda menunggu untuk diatur, dan Anda sekarang memiliki skill untuk melakukannya. Selamat berkueri!

Credits: Image by storyset