PostgreSQL - Kluusteran ORDER BY Klas: Panduan Pemula

Hai sana, bakal ahli pangkalan data! Hari ini, kita akan melangsungkan perjalanan menarik ke dunia PostgreSQL, khususnya fokus pada klausa ORDER BY. Jangan khawatir jika Anda baru saja memulai pemrograman – saya akan menjadi panduan ramah Anda, menjelaskan segala sesuatu langkah demi langkah. Jadi, mari kita masuk ke dalam!

PostgreSQL - Order By Clause

Apa Itu Kluusteran ORDER BY?

Bayangkan Anda memiliki lemari pakaian yang kacau penuh pakaian. Kluusteran ORDER BY adalah seperti pengurus pribadi Anda, membantu Anda mengatur data (atau pakaian) Anda dalam urutan tertentu. Ini adalah alat yang kuat yang memungkinkan kita untuk mengurutkan hasil kueri kita berdasarkan satu atau lebih kolom.

Mengapa Ini Penting?

Dalam dunia nyata, data jarang datang dalam urutan yang kita inginkan. Kluusteran ORDER BY membantu kita untuk menyajikan data dalam cara yang berarti. Apakah Anda sedang membuat website, menganalisis data penjualan, atau mencoba mencari pola, kemampuan untuk mengurutkan data sangat penting.

Sintaks Kluusteran ORDER BY

Mari kita lihat sintaks dasar kluusteran ORDER BY:

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

Jangan biarkan ini menakutkan Anda! Mari kita pecahnya:

  1. SELECT: Ini adalah tempat kita memilih kolom mana yang kita ingin lihat.
  2. FROM: Ini menentukan tabel mana kita mengambil data kita.
  3. ORDER BY: Ini adalah bintang utamanya – itu memberitahu PostgreSQL bagaimana mengurutkan hasil kita.
  4. column1, column2, ...: Ini adalah kolom yang kita ingin urutkan.
  5. [ASC|DESC]: Ini opsional. ASC berarti urutan naik (A ke Z, 1 ke 10), dan DESC berarti urutan turun (Z ke A, 10 ke 1). Jika kita tidak menentukan, secara defaultnya adalah ASC.

Contoh Kluusteran ORDER BY dalam Aksi

Mari kita buat tabel sederhana untuk bermain. Bayangkan kita menjalankan toko buku kecil:

CREATE TABLE books (
id SERIAL PRIMARY KEY,
title VARCHAR(100),
author VARCHAR(100),
price DECIMAL(10, 2),
publication_date DATE
);

INSERT INTO books (title, author, price, publication_date) VALUES
('The Great Gatsby', 'F. Scott Fitzgerald', 12.99, '1925-04-10'),
('To Kill a Mockingbird', 'Harper Lee', 14.99, '1960-07-11'),
('1984', 'George Orwell', 11.99, '1949-06-08'),
('Pride and Prejudice', 'Jane Austen', 9.99, '1813-01-28'),
('The Catcher in the Rye', 'J.D. Salinger', 13.99, '1951-07-16');

Sekarang kita memiliki beberapa data, mari kita mulai mengurutkan!

Contoh 1: Pengurutan Dasar

Mari kita urutkan buku-buku kita berdasarkan judul:

SELECT * FROM books ORDER BY title;

Ini akan memberikan kita:

id title author price publication_date
3 1984 George Orwell 11.99 1949-06-08
4 Pride and Prejudice Jane Austen 9.99 1813-01-28
5 The Catcher in the Rye J.D. Salinger 13.99 1951-07-16
1 The Great Gatsby F. Scott Fitzgerald 12.99 1925-04-10
2 To Kill a Mockingbird Harper Lee 14.99 1960-07-11

Seperti yang Anda lihat, buku-buku sekarang urutannya berdasarkan judul secara abjad.

Contoh 2: Urutan Turun

Apa bila kita ingin melihat buku-buku yang paling mahal terlebih dahulu?

SELECT * FROM books ORDER BY price DESC;

Hasil:

id title author price publication_date
2 To Kill a Mockingbird Harper Lee 14.99 1960-07-11
5 The Catcher in the Rye J.D. Salinger 13.99 1951-07-16
1 The Great Gatsby F. Scott Fitzgerald 12.99 1925-04-10
3 1984 George Orwell 11.99 1949-06-08
4 Pride and Prejudice Jane Austen 9.99 1813-01-28

Sekarang kita melihat buku-buku urutannya dari harga tertinggi ke terendah.

Contoh 3: Kolom Ganda

Kita bisa mengurutkan berdasarkan lebih dari satu kolom. Mari kita urutkan berdasarkan pengarang, dan kemudian berdasarkan judul:

SELECT * FROM books ORDER BY author, title;

Hasil:

id title author price publication_date
1 The Great Gatsby F. Scott Fitzgerald 12.99 1925-04-10
3 1984 George Orwell 11.99 1949-06-08
2 To Kill a Mockingbird Harper Lee 14.99 1960-07-11
5 The Catcher in the Rye J.D. Salinger 13.99 1951-07-16
4 Pride and Prejudice Jane Austen 9.99 1813-01-28

Ini mengurutkan terlebih dahulu berdasarkan pengarang (secara abjad), dan kemudian berdasarkan judul untuk pengarang yang sama.

Contoh 4:campur ASC dan DESC

Kita bahkan bisa mencampur urutan naik dan turun:

SELECT * FROM books ORDER BY author ASC, price DESC;

Ini akan urutkan pengarang secara abjad, tetapi untuk setiap pengarang, buku terendah harga pertama.

Tips dan Trik Praktis

  1. Kinerja: Saat berurusan dengan dataset besar, menambahkan indeks ke kolom yang sering Anda urutkan dapat meningkatkan kecepatan kueri secara signifikan.

  2. NULLS FIRST/LAST: Anda dapat menentukan di mana nilai NULL harus muncul dalam pengurutan:

    SELECT * FROM books ORDER BY price DESC NULLS LAST;
  3. Ekspresi: Anda dapat mengurutkan berdasarkan hasil ekspresi:

    SELECT * FROM books ORDER BY (price * 100);
  4. Nomor Ordinal: Sebagai ganti nama kolom, Anda dapat menggunakan nomor yang mewakili posisi kolom dalam daftar SELECT:

    SELECT title, price FROM books ORDER BY 2 DESC;

    Di sini, 2 merujuk ke kolom kedua (harga) di daftar SELECT.

Kesimpulan

Dan begitu saja! Anda telah mengambil langkah pertama ke dalam dunia pengurutan data dengan kluusteran ORDER BY PostgreSQL. Ingat, latihan membuat sempurna. Cobalah membuat tabel favorit Anda sendiri dan eksperimen dengan pengurutan berbagai macam.

Dalam tahun-tahun mengajar saya, saya menemukan bahwa cara terbaik untuk belajar adalah dengan melakukan. Jadi, ini adalah tugas kecil untuk Anda: Buat tabel film favorit atau lagu Anda dan latihan mengurutkannya dalam berbagai cara. Anda akan menjadi ahli pengurutan dalam waktu singkat!

Selamat berkueri, dan semoga data Anda selalu terurut baik!

Credits: Image by storyset