Bagaimana Cara Menggunakan Select Distinct Di MySQL

Apa Itu Distinct?

DISTINCT adalah salah satu operator di database MySQL bahkan hampir di semua database yang digunakan untuk mencegah adanya duplikasi data atau record. Misalkan ada 10 orang yang bernama 'AHMAD', maka dengan menggunakan operator Distinct, Anda bisa mengeliminasi data 'AHMAD' menjadi satu nama saja.

Operator Distinct digunakan setelah keyword SELECT pada Select statement.


Sintak Dasar

Di bawah ini adalah sintak dasar Select Distinct di MySQL:

SELECT DISTINCT nama_kolom
FROM nama_tabel
WHERE kondisi

Contoh Latihan

Sebagai latihan penggunaan Select Distinct, Anda dapat mengikuti step-step dibawah ini:
  1. Buatlah tabel di database MySQL dengan nama TBL_KARYAWAN dan isi data tabel karyawan dengan data-data berikut:

    TBL_KARYAWAN
    NAMA_DEPAN NAMA_BELAKANG
    Agung Heriyadi
    Agung Supriyatna
    Ahmad Sahil
    Ahmad Sofyan
    Ana Fauziyah
    Asep Supriyatna
    Laura Krasiva
    Naura Krasiva
    Ngatimin
    Nurul Anwariyah
    Nurul Hikmah
    Sutrisno
    Zainuddin

    Script Buat Table

    mysql> CREATE TABLE TBL_KARYAWAN(
        ->    nama_depan VARCHAR(50),
        ->    nama_belakang VARCHAR(50)
        -> );
    Query OK, 0 rows affected (0.24 sec)
    
    
    
    Baca juga: Membuat Tabel di MySQL.

    Script Insert Data

    mysql> INSERT INTO TBL_KARYAWAN VALUES('Agung','Heriyadi');
    Query OK, 1 row affected (0.05 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Agung','Supriyatna');
    Query OK, 1 row affected (0.04 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Ahmad','Sahil');
    Query OK, 1 row affected (0.09 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Ahmad','Sofyan');
    Query OK, 1 row affected (0.05 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Ana','Fauziyah');
    Query OK, 1 row affected (0.07 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Asep','Supriyatna');
    Query OK, 1 row affected (0.06 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Laura','Krasiva');
    Query OK, 1 row affected (0.07 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Naura','Krasiva');
    Query OK, 1 row affected (0.05 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Ngatimin',null);
    Query OK, 1 row affected (0.05 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Nurul','Anwariyah');
    Query OK, 1 row affected (0.06 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Nurul','Hikmah');
    Query OK, 1 row affected (0.06 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Sutrisno',null);
    Query OK, 1 row affected (0.04 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Zainuddin',null);
    Query OK, 1 row affected (0.05 sec)
    
    

    Baca juga: Insert Statemen di MySQL.

  2. Tampilkan semua data Karyawan

    mysql> SELECT * FROM tbl_karyawan;
    +------------+---------------+
    | nama_depan | nama_belakang |
    +------------+---------------+
    | Agung      | Heriyadi      |
    | Agung      | Supriyatna    |
    | Ahmad      | Sahil         |
    | Ahmad      | Sofyan        |
    | Ana        | Fauziyah      |
    | Asep       | Supriyatna    |
    | Laura      | Krasiva       |
    | Naura      | Krasiva       |
    | Ngatimin   | NULL          |
    | Nurul      | Anwariyah     |
    | Nurul      | Hikmah        |
    | Sutrisno   | NULL          |
    | Zainuddin  | NULL          |
    +------------+---------------+
    13 rows in set (0.04 sec)
    
    

    Query diatas menghasilkan 10 record karena ada 3 record yang dieliminasi yaitu nama Agung, Ahmad, dan Nurul yang awalnya double hanya ditampilkan satu record saja.

  3. Tampilkan Nama Depan Karyawan menggunakan Select Distinct. Dan lihat hasilnya.

    mysql> SELECT DISTINCT nama_depan FROM tbl_karyawan;
    +------------+
    | nama_depan |
    +------------+
    | Agung      |
    | Ahmad      |
    | Ana        |
    | Asep       |
    | Laura      |
    | Naura      |
    | Ngatimin   |
    | Nurul      |
    | Sutrisno   |
    | Zainuddin  |
    +------------+
    10 rows in set (0.03 sec)
    
    
  4. Tampilkan Nama Belakang menggunakan Select Distinct. Dan lihat hasilnya

    mysql> SELECT DISTINCT nama_belakang FROM tbl_karyawan;
    +---------------+
    | nama_belakang |
    +---------------+
    | Heriyadi      |
    | Supriyatna    |
    | Sahil         |
    | Sofyan        |
    | Fauziyah      |
    | Krasiva       |
    | NULL          |
    | Anwariyah     |
    | Hikmah        |
    +---------------+
    9 rows in set (0.00 sec)
    
    

Sekian tutorial singkat Bagaimana Cara Menggunakan SELECT LIMIT Statement Di MySQL. Semoga bermanfaat & Selamat Belajar MySQL.


Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,


~Nursalim~
Naura-Lab.blogspot.com

Jika Anda rasa artikel ini bermanfaat, saya sangat berterima kasih bila Anda mau membagikannya ke teman. Jangan lupa dapatkan update artikel terbaru dari Naura-Lab melalui email:

1 comments:

ini cuma untuk view saja kan ya.. ? jadi di database masih ada kan ..?

Reply

Post a Comment