Cara Menghilangkan Record Yang Duplikat Di MySQL

Pada tutorial MySQL kali ini, kita akan belajar tentang Cara Menghilangkan Record Yang Duplikat. Untuk menghilangkan record yang duplikat atau double, Anda dapat menggunakan kata kunci (keyword) DISTINCT pada Select statement.

Sintak Dasar


Di bawah ini adalah sintak dasar Select Distinct Di MySQL:

SELECT DISTINCT column_name1, column_name2,.....column_nameN 
FROM table_name
WHERE [condition]

Penjelasan sintak:

  • column_name1, column_name2, dan seterusnya adalah nama-nama kolom yang akan ditampilkan.
  • table_name adalah nama table yang datanya akan ditampilkan.
  • condition, jika Anda ingin menambahkan kriteria atau kondisi pada where clause

Contoh


Misalkan Anda telah memiliki sebuah table "employee" dengan data-data sebagai berikut:

+-------------+---------------+--------+----------+---------+------------+
| employee_id | employee_name | gender | address  | salary  | departemen |
+-------------+---------------+--------+----------+---------+------------+
| 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
| 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
| 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
| 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
| 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
+-------------+---------------+--------+----------+---------+------------+

Dari data-data diatas,

  • Tampilkan data gender dari table "employee" diatas tanpa menggunakan Distinct dan dengan menggunakan Distinct.
    Tanpa menggunakan Distinct
    mysql> SELECT gender
        -> FROM employee;
    +--------+
    | gender |
    +--------+
    | L      |
    | P      |
    | L      |
    | P      |
    | P      |
    +--------+
    5 rows in set (0.04 sec)
    


    Dengan menggunakan Distinct
    mysql> SELECT DISTINCT gender
        -> FROM employee;
    +--------+
    | gender |
    +--------+
    | L      |
    | P      |
    +--------+
    2 rows in set (0.00 sec)
    
  • Tampilkan data departemen dari table "employee" diatas tanpa menggunakan Distinct dan dengan menggunakan Distinct.
    Tanpa menggunakan Distinct
    mysql> SELECT departemen
        -> FROM employee;
    +------------+
    | departemen |
    +------------+
    | IT         |
    | HRD        |
    | ACC        |
    | FIN        |
    | FIN        |
    +------------+
    5 rows in set (0.00 sec)
    


    Dengan menggunakan Distinct
    mysql> SELECT DISTINCT departemen
        -> FROM employee;
    +------------+
    | departemen |
    +------------+
    | IT         |
    | HRD        |
    | ACC        |
    | FIN        |
    +------------+
    4 rows in set (0.00 sec)
    

Share this

Related Posts

Previous
Next Post »