PostgreSQL - Kata Kunci DISTINCT: Panduan untuk Pemula

Hai teman-teman, sang pemuda ahli basis data masa depan! Hari ini, kita akan meluncur ke dalam dunia yang menakjubkan PostgreSQL dan menjelajahi kata kunci kecil yang berkekuatan, yaitu DISTINCT. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya - saya akan menjadi panduan yang ramah dalam perjalanan ini, dan pada akhirnya, Anda akan menggunakan DISTINCT seperti seorang ahli!

PostgreSQL - Distinct Keyword

Apa Itu DISTINCT dan Mengapa Kita Membutuhkannya?

Imaginasi Anda adalah seorang perpustakaawan (tetap ikut saya disini) di sebuah perpustakaan besar. Atasan Anda meminta Anda menghitung berapa banyak penulis yang berbeda ada di perpustakaan. Anda tentu tidak mau menghitung penulis yang sama beberapa kali hanya karena mereka telah menulis beberapa buku, kan? Itu adalah tempat DISTINCT berguna di dunia basis data.

Kata kunci DISTINCT di PostgreSQL digunakan untuk menghapus baris duplikat dari set hasil. Itu seperti memiliki filter ajaib yang hanya menunjukkan nilai unik. Sangat menarik, kan?

Sintaks: Cara Menggunakan DISTINCT

Mari kita mulai dengan sintaks dasar DISTINCT. Jangan khawatir; itu lebih mudah daripada Anda mungkin pikirkan!

SELECT DISTINCT column1, column2, ...
FROM table_name;

Berikut arti setiap bagian:

  • SELECT: Ini memberitahu PostgreSQL bahwa kita ingin mengambil data.
  • DISTINCT: Bintang utama kita! Itu menghapus duplikat dari hasil.
  • column1, column2, ...: Kolom yang Anda ingin pilih.
  • FROM table_name: Tabel yang Anda pilih dari.

Contoh: DISTINCT Dalam Aksi

Contoh 1: Penggunaan Dasar DISTINCT

katakanlah kita memiliki tabel yang disebut books dengan kolom title, author, dan genre. Kita ingin mengetahui semua genre unik di perpustakaan kita.

SELECT DISTINCT genre
FROM books;

Kueri ini akan memberikan kita daftar semua genre unik, tanpa peduli berapa banyak buku ada di setiap genre. Jika kita memiliki 1000 buku tapi hanya 5 genre yang berbeda, kita hanya akan melihat 5 genre tersebut dicantumkan sekali masing-masing.

Contoh 2: DISTINCT Dengan Beberapa Kolom

Sekarang, apa bila kita ingin melihat semua kombinasi penulis-genre unik? Kita dapat menggunakan DISTINCT dengan beberapa kolom:

SELECT DISTINCT author, genre
FROM books;

Ini akan menunjukkan setiap kombinasi unik penulis dan genre. Jika seorang penulis menulis dalam beberapa genre, mereka akan muncul beberapa kali, tapi hanya sekali untuk setiap genre yang mereka tulis.

Contoh 3: DISTINCT Dengan ORDER BY

Ayo memperkenalkan sesuatu yang menarik. Kita dapat menggabungkan DISTINCT dengan ORDER BY untuk mengurutkan hasil kita:

SELECT DISTINCT genre
FROM books
ORDER BY genre ASC;

Kueri ini akan memberikan kita semua genre unik, diurutkan secara alfabetik. Itu seperti mengatur rak perpustakaan kita!

Contoh 4: COUNT Dengan DISTINCT

Ini adalah trik yang keren: kita dapat menggunakan COUNT dengan DISTINCT untuk menghitung nilai unik:

SELECT COUNT(DISTINCT author) AS unique_authors
FROM books;

Ini akan memberitahu kita berapa banyak penulis yang berbeda ada di perpustakaan kita. Itu seperti bertanya, "berapa banyak tanda tangan penulis yang saya butuhkan untuk mengumpulkan satu dari setiap penulis di perpustakaan?"

Metode Umum Menggunakan DISTINCT

Berikut adalah tabel yang menggabungkan beberapa metode umum menggunakan DISTINCT:

Metode Deskripsi Contoh
Basic DISTINCT Menghapus duplikat dari satu kolom SELECT DISTINCT genre FROM books;
Multi-column DISTINCT Menghapus duplikat berdasarkan beberapa kolom SELECT DISTINCT author, genre FROM books;
DISTINCT dengan ORDER BY Menghapus duplikat dan mengurutkan hasil SELECT DISTINCT genre FROM books ORDER BY genre;
COUNT dengan DISTINCT Menghitung nilai unik SELECT COUNT(DISTINCT author) FROM books;
DISTINCT ON Menyimpan baris pertama dari setiap kelompok duplikat SELECT DISTINCT ON (genre) genre, title FROM books ORDER BY genre, title;

Tips dan Trik Praktis

  1. Perhatian Performa: Meskipun DISTINCT sangat berguna, itu dapat memperlambat kueri Anda di dataset besar. Gunakanlah dengan bijak!

  2. NULL Values: DISTINCT menganggap NULL sebagai nilai unik. Jadi jika Anda memiliki nilai NULL beberapa kali dalam kolom, DISTINCT akan menyimpan salah satu dari mereka.

  3. Menggabungkan dengan WHERE: Anda dapat menggunakan DISTINCT bersamaan dengan klausal WHERE. Sebagai contoh:

    SELECT DISTINCT genre
    FROM books
    WHERE author = 'J.K. Rowling';

    Ini akan menunjukkan semua genre unik yang J.K. Rowling telah menulis.

  4. DISTINCT vs. GROUP BY: Kadang-kadang, Anda dapat mencapai hasil yang sama menggunakan baik DISTINCT maupun GROUP BY. Untuk kasus sederhana, DISTINCT biasanya lebih mudah dipahami.

Kesimpulan: Kuasa DISTINCT

Dan begitu juga, teman-teman! Anda telah membuka kuasa DISTINCT di PostgreSQL. Dari menghapus duplikat hingga menghitung nilai unik, DISTINCT adalah seperti pisau瑞士 Army knife di dalam alat SQL Anda.

Ingat, kunci untuk menjadi ahli DISTINCT (dan SQL secara umum) adalah praktik. Cobalah membuat tabel Anda sendiri dan mencoba berbagai kueri DISTINCT. Sebelum Anda tahu, Anda akan membedakan data seperti seorang detektif basis data!

Terus mengquery, terus belajar, dan terutama, bersenang-senang dengan itu. Setelah semuanya, setiap perjalanan basis data yang memuaskan dimulai dengan satu SELECT statement. Selamat coding!

Credits: Image by storyset