Di dalam sebuah tabel, kolom sering berisi banyak nilai duplikat; Dan terkadang Anda hanya ingin membuat daftar nilai yang berbeda.
Perintah SELECT DISTINCT digunakan untuk menampilkan hanya nilai yang berbeda dari suatu data.
Sintaks SELECT DISTINCT
SELECT DISTINCT column1, column2, …
FROM table_name;
Database Demo
Berikut adalah pilihan dari tabel “Customers” di database sampel Northwind:
Contoh SELECT
Pernyataan SQL berikut memilih semua nilai (dan yang terduplikasi) dari kolom “Country” di tabel “Customers”:
SELECT Country FROM Customers;
Hasilnya sebagai berikut :
Ada 91 record, di atas hanya ditampilkan sebagian.
Sekarang, mari kita gunakan kata kunci DISTINCT dengan statemen SELECT di atas dan lihat hasilnya.
Contoh SELECT DISTINCT
Pernyataan SQL berikut hanya memilih nilai DISTINCT dari kolom “Country” di tabel “Customers”:
SELECT DISTINCT Country FROM Customers;
Hasilnya hanya menampilkan 21 record, karena negara yang berbeda ada 21, sedangkan yang negeranya sama tidak dihitung.
Perintah SQL berikut mencantumkan banyaknya jumlah negara (country) pada tabel Customers yang memiliki nilai berbeda:
SELECT COUNT(DISTINCT Country) FROM Customers;
Catatan: Contoh di atas tidak akan bekerja di Firefox dan Microsoft Edge! Karena COUNT (DISTINCT column_name ) tidak didukung di database Microsoft Access. Firefox dan Microsoft Edge menggunakan Microsoft Access latihan ini.
Home Basis Data 2 query Select Distinct
Select DistinctSeptember 28, 2021
3168
Perintah SELECT DISTINCT digunakan untuk mengambil data-data yang berbeda pada suatu record. Di dalam tabel, field sering kali berisi banyak nilai duplikat; dan terkadang kita hanya ingin membuat daftar nilai yang berbeda.
Sintaks Select Distinct
SELECT DISTINCT column1, column2, …
FROM table_name;
Contoh Tanpa DISTINCT
Pernyataan SQL berikut memilih semua (termasuk duplikat) nilai dari field “kategori” di tabel “barang”.
Contoh : select kategori from barang
Perintah di atas akan menghasilkan data seperti di bawah ini. Dimana setiap kategori yang sama akan dimunculkan semua.
Bedakan dengan perintah distinct.
select distinct kategori from barang;
Hasilnya bisa dilihat di bawah ini.
Latihan
Silahkan berlatih perintah select distinct melalui tool di bawah ini. Perhatikan perbedaan menggunakan perintah distinct dan tanpa distinct.
Pada kesempatan ini saya akan menjelaskan mengenai apa itu select distinct pada sql. SELECT DISTINCT merupakan query select yang berfungsi untuk menampilkan data tanpa adanya duplikat atau redudansi. Kapan select distinct digunakan ? Select distinct digunakan ketika anda ingin mendapatkan data umum atau bisa dibilang sub-sub data dari sebuah kolom yang terdapat pada sebuah tabel. Misalkan anda memiliki sebuah tabel data-data peserta seleksi pegawaian, tentunya pada tabel tersebut terdapat data asal dari setiap pegawai. Nah selanjutnya anda ingin mendapatkan data dari kota apa saja peserta-peserta tersebut berasal. Tentunya akan terdapat beberapa peserta yang berasal dari kota yang sama, untuk select distinct digunakan untuk menampilkan data inti dalam artian untuk peserta yang kotanya sama akan hanya ditampilkan satu saja.
Untuk lebih jelas dalam memahami fungsi dari select distinct berikut ini saya buatkan contoh sebagai ilustrasi penggunaan select distinct. Saya memiliki sebuah tabel yang berisi data-data mengenai guru-guru yang mengajar disebuah sekolah. Saya ingin mengetahui list mata pelajaran yang diajarkan oleh guru-guru tersebut apa saja. Berikut ini merupakan data tabel guru tersebut :
Untuk format sintak query select distinct itu sendiri sebagai berikut :
Nah ini merupakan hasil yang didapatkan ketika saya menjalankan query select distinct untuk mencari list mata pelajaran yang diajarkan oleh guru-guru tersebut :
Seperti itulah gambaran mengenai penggunaan select distinct. Selain digunakan untuk mencari list data tanpa duplikasi select distinct bisa dipadukan dengan penggunaan COUNT() dimana count itu sendiri untuk mencari jumlah rows. Sebagai contoh anda ingin mencari berapa jenis mata pelajaran yang diajarkan oleh guru-guru di sekolah tersebut. Maka untuk mencarinya anda dapat menjalankan sintak seperti berikut ini :
Nah maka hasil yang ditampilkan yaitu berupa angka karena fungsi dari aggregat count itu sendiri yaitu menghitung jumlah rows atau baris.
Sekian yang dapat saya share, mungkin bagi anda yang sudah memahami mengenai sql mungkin belum paham mengenai perbedaan select disticnt dengan group by, untuk lebih jelasnya anda dapat melihat artikel link ini mengenai Perbedaan Order By dan Group By (on progress).