Mengapa user memerlukan tampilan data dengan fungsi distinct

Penggunaan Query Distinct – Pada tutorial mysql sebelumnya kita telah belajar tentang bagaimana Membuat Database MySQL, dan juga menyimpan, mengubah dan menghapus pada database MySQL. Pada tutorial kali ini, kita akan membahas tentang bagaimana penggunaan query distinct pada mysql.  Query ini digunakan untuk menghapus atau mengeleminasi duplikasi dari hasil tampilan SELECT. Sama seperti query AS, ORDER BY, dan LIMIT, query DISTINCT ini digunakan sebagai tambahan dari query utamanya, yakni SELECT.

Mempersiapkan table sampel Daftar_dosen.

+------------+----------------+------------+-----------+ | NIP_dosen | nama_dosen | no_hp | alamat | +------------+----------------+------------+-----------+ | 0160436012 | Sabrina Sari | 0812349900 | Pekanbaru | | 0173551078 | Aria Sulistya | 0880743523 | Jakarta | | 0260432002 | Maya Ari Putri | 0812342342 | Palembang | | 0275430005 | Susi Indriani | 0812656532 | Bogor | | 0360432014 | Suci Syuhada | 0812341122 | Palembang | | 0480432066 | Tia Santrini | 0812451177 | Padang | | 0576431001 | M. Siddiq | 0812979005 | Jakarta | | 0770435006 | Rubin Hadi | 0812567678 | Papua | | 0785531001 | Siswanto | 0852878006 | Padang | | 0867221006 | Rudi Arwana | 0823987598 | Jakarta | | 0869437003 | Mustalifah | 0812338877 | Aceh | | 1080432007 | Arif Budiman | 0812456345 | Makasar | +------------+----------------+------------+-----------+

Kalau anda ingin menggunakan table yang sama seperti yang saya gunakan anda bisa menginputnya secara manual atau menggunakan query LOAD DATA INFILE dibawah, untuk file txt dapat diperoleh dari sample data tabel daftar dosen.

mysql> TRUNCATE daftar_dosen; Query OK, 0 rows affected (0.05 sec) mysql> LOAD DATA INFILE 'D:\\MySQL\\daftar_dosen.txt' INTO TABLE daftar_dosen FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; Query OK, 12 rows affected (0.04 sec) Records: 12 Deleted: 0 Skipped: 0 Warnings: 0 mysql> SELECT * FROM daftar_dosen; +------------+----------------+------------+-----------+ | NIP_dosen | nama_dosen | no_hp | alamat | +------------+----------------+------------+-----------+ | 0160436012 | Sabrina Sari | 0812349900 | Pekanbaru | | 0173551078 | Aria Sulistya | 0880743523 | Jakarta | | 0260432002 | Maya Ari Putri | 0812342342 | Palembang | | 0275430005 | Susi Indriani | 0812656532 | Bogor | | 0360432014 | Suci Syuhada | 0812341122 | Palembang | | 0480432066 | Tia Santrini | 0812451177 | Padang | | 0576431001 | M. Siddiq | 0812979005 | Jakarta | | 0770435006 | Rubin Hadi | 0812567678 | Papua | | 0785531001 | Siswanto | 0852878006 | Padang | | 0867221006 | Rudi Arwana | 0823987598 | Jakarta | | 0869437003 | Mustalifah | 0812338877 | Aceh | | 1080432007 | Arif Budiman | 0812456345 | Makasar | +------------+----------------+------------+-----------+ 12 rows in set (0.00 sec)

Cara Penggunaan Query Distinct Untuk Menghapus Duplikasi

Menghapus duplikasi disini artinya query DISTINCT digunakan hanya untuk memanipulasi tampilan hasil dari tabel. Duplikasi yang dihapus adalah untuk tampilan data, bukan tabel asli dari MySQL.

Misal, apabila kita hanya ingin menampilkan seluruh kota pada table daftar_dosen.

mysql> SELECT alamat FROM daftar_dosen ORDER BY alamat; +-----------+ | alamat | +-----------+ | Aceh | | Bogor | | Jakarta | | Jakarta | | Jakarta | | Makasar | | Padang | | Padang | | Palembang | | Palembang | | Papua | | Pekanbaru | +-----------+ 12 rows in set (0.00 sec)

Saya menambahkan perintah ORDER BY agar tampilan lebih rapi dengan diurutkan berdasarkan alamat.

Pada hasil diatas kota yang ditampilkan terdapat duplikasi, hal ini dikarenakan ada beberapa dosen yang mempunyai alamat yang sama. Jika yang kita inginkan bahwa untuk setiap kota yang sama, hasil query harus muncul 1 kali saja, kita akan memerlukan perintah DISTINCT.

Cara Penulisan Query Distinct

Contoh penulisan query distinct:

SELECT DISTINCT nama_kolom FROM nama_tabel;
  • Nama_kolom adalah nama kolom yang akan ditampilkan.
  • Nama_tabel adalah nama tabel untuk kolom yang akan ditampilkan.

Sehingga untuk contoh kasus diatas, maka kita akan menggunakan query distinct  untuk menampilkan seluruh kota 1 kali saja. Contoh Querynya.

mysql> SELECT DISTINCT alamat FROM daftar_dosen ORDER BY alamat; +-----------+ | alamat | +-----------+ | Aceh | | Bogor | | Jakarta | | Makasar | | Padang | | Palembang | | Papua | | Pekanbaru | +-----------+ 8 rows in set (0.00 sec)

Dengan penggunaan perintah distinct maka data yang sama hanya ditampilkan satu kali.

Namun jika kita menambahkan kolom nama_dosen seperti query berikut:

mysql> SELECT DISTINCT nama_dosen,alamat FROM daftar_dosen ORDER BY alamat; +----------------+-----------+ | nama_dosen | alamat | +----------------+-----------+ | Mustalifah | Aceh | | Susi Indriani | Bogor | | Aria Sulistya | Jakarta | | M. Siddiq | Jakarta | | Rudi Arwana | Jakarta | | Arif Budiman | Makasar | | Siswanto | Padang | | Tia Santrini | Padang | | Maya Ari Putri | Palembang | | Suci Syuhada | Palembang | | Rubin Hadi | Papua | | Sabrina Sari | Pekanbaru | +----------------+-----------+ 12 rows in set (0.06 sec)

Terlihat bahwa MySQL tetap menampilkan seluruh isi tabel tanpa ada yang dibuang.  Hal ini dikarenakan query DISTINCT hanya mengeleminasi query yang unik, atau tidak sama dilihat secara baris per baris (per record). Dengan mengkombinasikan nama_dosen dengan alamat, maka setiap baris dianggap unik, kecuali terdapat nama dosen dan alamat yang persis sama.

Itulah tutorial Penggunaan Query Distinct Pada MySQL

  • , aktif

Pada tutorial kali ini, akan membahas tentang fungsi perintah distinct pada mysql.

Perintah Distinct dapat anda gunakan untuk menampilkan data yang berbeda – beda, atau dalam artian lain, perintah Distinct ini tidak akan menampilkan data yang sama sebanyak dua kali.

Hal ini berguna jika anda hanya ingin menampilkan record dengan data yang berbeda untuk anda ambil intinya saja.

Perhatikan table di bawah ini, dimana terdapat 2 kota Bandung, dan 2 kota Jakarta.

MariaDB [cms]> select alamat from visitor; +---------+ | alamat | +---------+ | Jakarta | | Bandung | | London | | Bandung | | Jakarta | +---------+ 5 rows in set (0.00 sec)

Pastinya anda hanya ingin membaca nama kotanya sekali saja, agar lebih mudah di baca. Itupun beruntung jika kesamaan datanya hanya 2 / 3 / 4, bagaimana jika ratusan.

Untuk mengatasinya anda dapat menggunakan fungsi DISTINCT.

MariaDB [cms]> SELECT DISTINCT alamat FROM visitor; +---------+ | alamat | +---------+ | Jakarta | | Bandung | | London | +---------+ 3 rows in set (0.00 sec)

Demikian tutorial dari Fungsi Perintah Distinct Pada MySQL, silahkan kunjungi tutorial SQL lainnya :

LAPORAN AWALPRATIKUM BASIS DATALAPORAN AWAL 9Disusun Oleh :Nama: Iqbal MaulanaNIM : 181011400501Kelas : 05TPLE024TEKNIK INFORMATIKAFAKULTAS TEKNIKUNIVERSITAS PAMULANGJl. Surya Kencana No. 1 Pamulang Telp (021)7412566, Fax. (021)7412566Tangerang Selatan – Banten

TUGAS PENDAHULUAN PERTEMUAN 91. Jelaskan perbedaan operator aritmatika denagan operator pembanding !2. Jelaskan apa yang dimaksud dengan distinct pada Mysql ! berikan contohnya !3. Mengapa user memerlukan tampilan data dengan fungsi distinct ?4. Jelaskan apa yang dimaksud dengan Fungsi Agregat pada MySql !1.Operator aritmatika adalah operator yang digunakan untuk melakukan matematika dasar. Sedangkan operator pembanding adalah operator yang digunakan untuk melakukan pembandingan apakah beberapa elemen sama, identik, kurang dari atau lebih besar dari yang lain.2.Yang dimaksud DISTINCT adalah perintah yang digunakan hanya untuk memanipulasi tampilan hasil dari tabel.Contoh: Hasil query terdapat data yang sama lebih dari 1 kali kemunculan, perintah distinct hanya akan menampilkan 1 kali saja.3.Karena distinct hanya akan mengeliminasi query yang unik, atau tidak sama dilihat secara baris perbaris.Fungsi distinct dapat digunakan untuk menampilkan data yang berbeda beda, tidak mungkin ada data yang sama. Sangat berguna jika user ingin mengambil data inti nya saja.4.Yang dimaksud dengan fungsi Agregat adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal sebagai hasilnya. sedangkan fungsi agregat sendiri pada umum nya terdiri dari lima jenis yaitu COUNT, SUM, AVG, MIN dan MAX.

Upload your study docs or become a

Course Hero member to access this document

Upload your study docs or become a

Course Hero member to access this document

End of preview. Want to read all 16 pages?

Upload your study docs or become a

Course Hero member to access this document