Cara Mengurutkan Data Di MySQL

Pada tutorial MySQL kali ini, kita akan belajar tentang Cara Mengurutkan Data baik secara ascending maupun descending. Untuk mengurutkan data dari sebuah atau beberapa table, Anda dapat menggunakan Select statement ditambah dengan Order By Clause.

Sintak Dasar


Di bawah ini adalah sintak dasar dari perintah Order By clause di MySQL:

SELECT column_name1, column_name2, column_name3, ..., column_nameN  
FROM table_name 
WHERE [condition] 
ORDER BY [column_name1, column_name2, column_name3, ..., columnN] [ASC | DESC];

Penjelasan sintak:

  • column_name1, column_name2, column_name3, dan seterusnya adalah kolom-kolom yang akan ditampilkan. Apabila Anda ingin menampilkan semua kolom, Anda tinggal mengganti column_name menjadi tanda "*" (tanpa tanda petik)
  • table_name adalah nama table yang akan ditampilkan datanya. Anda dapat menggunakan lebih dari satu table atau istilahnya disebut Join Table.
  • condition adalah kriteria atau kondisi yang akan Anda terapkan pada select statement. Ini bersifat opsional.
  • Order By clause digunakan untuk mengurutkan data berdasarkan kolom-kolom, baik itu secara ascending (ASC) maupun descending (DESC). Apabila Anda tidak menyertakan opsi ASC atau DESC, maka secara default data akan diurutkan secara ascending.

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        |
+-------------+---------------+--------+----------+---------+------------+
5 rows in set (0.07 sec)

Dari data-data diatas,

  • Tampilkan semua data dari table "employee", dan urutkan berdasarkan employee_name secara ascending.
    Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menjalankan query berikut ini:
    mysql> SELECT * FROM employee
        -> ORDER BY employee_name;
    +-------------+---------------+--------+----------+---------+------------+
    | employee_id | employee_name | gender | address  | salary  | departemen |
    +-------------+---------------+--------+----------+---------+------------+
    | 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
    | 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
    | 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
    | 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
    | 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
    +-------------+---------------+--------+----------+---------+------------+
    5 rows in set (0.00 sec)
    

    Atau Anda juga bisa menggunakan query di bawah ini:
    mysql> SELECT * FROM employee
        -> ORDER BY 2;
    +-------------+---------------+--------+----------+---------+------------+
    | employee_id | employee_name | gender | address  | salary  | departemen |
    +-------------+---------------+--------+----------+---------+------------+
    | 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
    | 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
    | 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
    | 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
    | 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
    +-------------+---------------+--------+----------+---------+------------+
    5 rows in set (0.00 sec)
    

    Angka 2 setelah Order By adalah posisi atau urutan dari kolom employee_name pada table "employee"
  • Tampilkan semua data dari table "employee", dan urutkan berdasarkan employee_name secara descending.
    Untuk menampilkan data sesuai dengan kriteria diatas, Anda dapat menjalankan query berikut ini:
    mysql> SELECT * FROM employee
        -> ORDER BY employee_name DESC;
    +-------------+---------------+--------+----------+---------+------------+
    | employee_id | employee_name | gender | address  | salary  | departemen |
    +-------------+---------------+--------+----------+---------+------------+
    | 005         | Nurul         | P      | Tegal    | 4500000 | FIN        |
    | 001         | Nursalim      | L      | Jakarta  | 3000000 | IT         |
    | 002         | Naura         | P      | Bandung  | 2000000 | HRD        |
    | 004         | Nani          | P      | Surabaya | 2500000 | FIN        |
    | 003         | Ahmad         | L      | Semarang | 5000000 | ACC        |
    +-------------+---------------+--------+----------+---------+------------+
    5 rows in set (0.00 sec)
    

Share this

Related Posts

Previous
Next Post »