SQL Select Distinct: Sintaks, Cara Pakai, dan Contoh

Artikel ini akan membahas lebih detail tentang SQL DISTINCT, mulai dari sintaks, cara pakai, sampai contoh pemakaiannya.
RevoU Staff
February 2, 2024
6
min read

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
DAFTAR FULL PROGRAMCOBA COURSE GRATIS

Overview

SELECT DISTINCT dalam SQL adalah perintah untuk mengeliminasi duplikat dalam hasil query, memastikan setiap nilai yang ditampilkan adalah unik. Perintah ini sangat berguna dalam analisis data untuk mendapatkan informasi yang lebih akurat dari dataset yang besar.

Dalam pemrograman dan pengelolaan database, efisiensi serta keakuratan data adalah segalanya. Salah satu perintah SQL yang memiliki dampak signifikan dalam mencapai kedua hal tersebut adalah "SELECT DISTINCT".

Istilah "SELECT DISTINCT" dalam SQL dirancang untuk mengambil satu representasi unik dari setiap nilai yang berbeda dalam sebuah tabel database. Artinya, jika sebuah nilai muncul berulang kali dalam dataset, "SELECT DISTINCT" akan memastikan hanya satu instance dari nilai tersebut yang diambil untuk ditampilkan dalam hasil query, mengabaikan duplikat selanjutnya.

Penggunaan "SELECT DISTINCT" membantu dalam analisis data untuk mengidentifikasi dan mengeliminasi duplikasi, memastikan keakuratan dan kualitas data yang dianalisis. Hal ini sangat penting agar bisa mengambil keputusan berdasarkan data yang akurat.

Artikel ini akan membahas secara detail tentang "SELECT DISTINCT" SQL, kapan harus menggunakannya, dan mengapa perintah ini menjadi salah satu tool penting dalam analisis data.

Sintaks "SELECT DISTINCT" dalam SQL

Sintaks dasar dari "SELECT DISTINCT" adalah sebagai berikut:

Penjelasan masing-masing elemen:

  • SELECT: kata kunci ini dipakai untuk memulai pernyataan query dan menentukan apakah kita ingin memilih atau mengambil data. Ini adalah bagian standar dari hampir semua query SQL.
  • DISTINCT: kata kunci merupakan inti dari pernyataan. "DISTINCT" digunakan untuk memastikan nilai yang diambil dari kolom yang ditentukan adalah unik. Artinya, jika ada nilai sama atau duplikat dalam kolom tersebut, "DISTINCT" akan membuat nilai tersebut hanya muncul sekali dalam hasil query.
  • column_name1, column_name2, ...: bagian ini menentukan nama-nama kolom yang ingin diambil datanya. Kamu bisa memilih satu kolom atau lebih. Jika menggunakan lebih dari satu kolom, "SELECT DISTINCT" akan mengembalikan kombinasi unik dari nilai-nilai tersebut.
  • FROM table_name: bagian ini menentukan nama tabel dari mana data akan diambil. "FROM" adalah kata kunci yang berfungsi untuk menunjukkan sumber tabel.

Cara Menggunakan Pernyataan "SELECT DISTINCT" di SQL

Berikut langkah-langkah untuk menggunakan "SELECT DISTINCT":

  • Memilih tabel: pertama, tentukan tabel yang ingin di-query. Misalnya, jika memiliki tabel bernama 'Pelanggan', kamu akan memulai query dengan menulis FROM Pelanggan.
  • Menentukan kolom: selanjutnya, tentukan kolom yang ingin dilihat nilai uniknya. Jika ingin melihat daftar nama kota yang unik dari tabel Pelanggan, kamu akan fokus pada kolom 'kota'.
  • Menggunakan SELECT DISTINCT: gabungkan langkah pertama dan kedua dengan menambahkan 'SELECT DISTINCT' sebelum nama kolom. Sehingga, pernyataan lengkapnya menjadi SELECT DISTINCT kota FROM Pelanggan.
  • Menjalankan query: setelah menulis pernyataan, jalankan query di sistem manajemen database SQL yang kamu gunakan. Hasilnya akan menampilkan daftar kota yang unik dari tabel Pelanggan tanpa duplikasi.
  • Menggunakan dengan beberapa kolom: kamu juga bisa menggunakan 'SELECT DISTINCT' dengan lebih dari satu kolom. Misalnya, SELECT DISTINCT kota, negara FROM Pelanggan akan menampilkan kombinasi unik dari kota dan negara.
  • Menggabungkan dengan fungsi lain: 'SELECT DISTINCT' dapat digabungkan dengan fungsi SQL lainnya, seperti COUNT. Misalnya, SELECT COUNT(DISTINCT kota) FROM Pelanggan akan memberikan jumlah kota unik yang ada di tabel Pelanggan.
  • Mengurutkan hasil: kamu juga bisa menambahkan 'ORDER BY' untuk mengurutkan hasil. Misalnya, SELECT DISTINCT kota FROM Pelanggan ORDER BY kota akan menampilkan daftar kota unik, diurutkan secara alfabetis.

Contoh 1: mengambil daftar negara unik

Misalkan kamu memiliki tabel Pelanggan dengan kolom negara. Kamu ingin mendapatkan daftar semua negara yang unik di mana pelangganmu berada.

Dalam contoh di atas, SQL akan mengembalikan daftar negara yang berbeda dari tabel Pelanggan, tanpa duplikasi.

Output:

Contoh 2: menghitung jumlah produk unik berdasarkan kategori

Kamu memiliki tabel Produk dengan kolom kategori. Kamu ingin mengetahui berapa banyak kategori produk yang unik ada di dalam tabel.

Dalam contoh ini, SQL akan menghitung jumlah kategori produk yang unik dalam tabel Produk.

Output:

Contoh 3: menampilkan kombinasi unik dari dua kolom

Kamu memiliki tabel Transaksi dengan kolom tanggal dan jenis_transaksi. Kamu ingin melihat kombinasi unik dari tanggal dan jenis transaksi.

Pada contoh di atas, SQL akan menampilkan semua kombinasi unik dari tanggal dan jenis_transaksi dalam tabel Transaksi, diurutkan berdasarkan tanggal.

Output:

FAQ (Frequently Ask Question)

Apa perbedaan antara "SELECT DISTINCT" dan "GROUP BY"?

"SELECT DISTINCT" dipakai untuk menghilangkan duplikat dalam hasil query, memastikan setiap nilai dalam kolom yang dipilih muncul hanya sekali. Perintah ini cocok untuk kasus di mana kamu hanya ingin menampilkan nilai unik dari satu kolom atau kombinasi kolom.

Sementara itu, “GROUP BY” digunakan untuk mengelompokkan baris yang memiliki nilai kolom sama. Perintah ini biasanya diterapkan bersama dengan fungsi agregat (seperti COUNT, MAX, MIN, SUM, AVG) untuk melakukan perhitungan pada setiap grup. "GROUP BY" lebih kompleks dan serbaguna daripada "SELECT DISTINCT" karena memungkinkan agregasi data.

Namun, karena GROUP BY juga memiliki konsep di mana baris akan dikelompokan menjadi satu, maka secara konsep hanya akan terdapat satu nilai unik untuk tiap baris data. Dengan demikian, secara fungsi, GROUP BY dan DISTINCT sama-sama akan mengeluarkan satu nilai  saja.

Apakah "SELECT DISTINCT" memengaruhi performa query?

"SELECT DISTINCT" dapat memengaruhi performa, terutama pada tabel dengan jumlah data besar. Hal ini karena SQL harus memeriksa setiap baris untuk duplikasi, sehingga bisa memakan waktu dan sumber daya komputasi. Semakin besar dataset, semakin besar kemungkinan dampak pada performa.

Bagaimana cara menggunakan "SELECT DISTINCT" pada kolom yang memiliki nilai NULL?

"SELECT DISTINCT" akan menganggap nilai NULL sebagai nilai unik. Jika kamu menggunakan "SELECT DISTINCT" pada kolom yang berisi nilai NULL, SQL akan mengembalikan satu baris dengan NULL.

Misalnya, jika ada beberapa baris dengan nilai NULL, "SELECT DISTINCT" hanya akan menampilkan satu baris NULL.

RevoU Staff
Kickstart your career in tech with RevoU!

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Artikel Lainnya

Mau belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
Menu

Mulai karirmu dalam

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

DAFTAR FULL PROGRAM

Mau Belajar

Data Analytics

?