10/25/2015

Cara Menggunakan Order By Clause Di MySQL

Pada tutorial kali ini, kita akan belajar tentang Cara Menggunakan Order By clause Di MySQL. Order By clause digunakan untuk mengurutkan data, baik secara ascending maupun descending.

Sintak Dasar


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

SELECT column‐list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

Anda dapat mengurutkan data berdasarkan beberapa kolom, sesuai dengan kebutuhan. Secara default ketika Anda tidak menyematkan kata "ASC" atau "DESC" pada Order By clause, maka data diurutkan secara ascending.

Contoh


Misalkan Anda telah memiliki tabel "tbl_pegawai" dengan data-data sebagai berikut:

+------------+------------------+---------------+----------+------------+------------+
| id_pegawai | nama_pegawai     | jenis_kelamin | gaji     | alamat     | departemen |
+------------+------------------+---------------+----------+------------+------------+
|          1 | Nursalim         | L             |  1000000 | Brebes     | IT         |
|          2 | Naura Krasiva    | P             |  1500000 | Tegal      | FIN        |
|          3 | Nurul Anawariyah | P             |  2000000 | Pemalang   | HRD        |
|          4 | Achmad Fathoni   | L             |  3000000 | Batang     | IT         |
|          5 | Nurul Hikmah     | P             |  9000000 | Pekalongan | DIR        |
|          6 | Iskiyati         | P             |  3000000 | Semarang   | ACC        |
|          7 | Dodi Al Farizi   | L             |  3000000 | Kendal     | FIN        |
|          8 | Susanto          | L             |  4500000 | Cilacap    | MKT        |
|          9 | Susanti          | P             | 43500000 | Banyumas   | MKT        |
|         10 | Doni Nugroho     | L             |  3750000 | Pemalang   | HRD        |
+------------+------------------+---------------+----------+------------+------------+

Dari data diatas, coba Anda
  • Tampilkan data pegawai dan urutkan berdasarkan nama pegawai

    mysql> SELECT * FROM tbl_pegawai
        -> ORDER BY nama_pegawai;
    +------------+--------------------+---------------+----------+------------+------------+
    | id_pegawai | nama_pegawai       | jenis_kelamin | gaji     | alamat     | departemen |
    +------------+--------------------+---------------+----------+------------+------------+
    |          4 | Achmad Fathoni     | L             |  3000000 | Batang     | IT         |
    |          7 | Dodi Al Farizi     | L             |  3000000 | Kendal     | FIN        |
    |         10 | Doni Nugroho       | L             |  3750000 | Jakarta    | HRD        |
    |          6 | Iskiyati           | P             |  3000000 | Semarang   | ACC        |
    |          2 | Naura Krasiva      | P             |  1500000 | Tegal      | FIN        |
    |          1 | Nursalim Al Farizi | L             |  1000000 | Brebes     | IT         |
    |          3 | Nurul Anawariyah   | P             |  2000000 | Pemalang   | HRD        |
    |          5 | Nurul Hikmah       | P             |  9000000 | Pekalongan | DIR        |
    |          9 | Susanti            | P             | 43500000 | Banyumas   | MKT        |
    |          8 | Susanto            | L             |  4500000 | Cilacap    | MKT        |
    +------------+--------------------+---------------+----------+------------+------------+
    10 rows in set (0.03 sec)
    
    
  • Tampilkan data pegawai dan urutkan berdasarkan gaji, dimulai dengan gaji yang paling besar

    mysql> SELECT * FROM tbl_pegawai
        -> ORDER BY gaji DESC;
    +------------+--------------------+---------------+----------+------------+------------+
    | id_pegawai | nama_pegawai       | jenis_kelamin | gaji     | alamat     | departemen |
    +------------+--------------------+---------------+----------+------------+------------+
    |          9 | Susanti            | P             | 43500000 | Banyumas   | MKT        |
    |          5 | Nurul Hikmah       | P             |  9000000 | Pekalongan | DIR        |
    |          8 | Susanto            | L             |  4500000 | Cilacap    | MKT        |
    |         10 | Doni Nugroho       | L             |  3750000 | Jakarta    | HRD        |
    |          7 | Dodi Al Farizi     | L             |  3000000 | Kendal     | FIN        |
    |          6 | Iskiyati           | P             |  3000000 | Semarang   | ACC        |
    |          4 | Achmad Fathoni     | L             |  3000000 | Batang     | IT         |
    |          3 | Nurul Anawariyah   | P             |  2000000 | Pemalang   | HRD        |
    |          2 | Naura Krasiva      | P             |  1500000 | Tegal      | FIN        |
    |          1 | Nursalim Al Farizi | L             |  1000000 | Brebes     | IT         |
    +------------+--------------------+---------------+----------+------------+------------+
    10 rows in set (0.00 sec)
    
    
  • Tampilkan data pegawai dan urutkan berdasarkan nama pegawai secara ascending, dan gaji secara descending.

    mysql> SELECT * FROM tbl_pegawai
        -> ORDER BY nama_pegawai ASC, gaji DESC;
    +------------+--------------------+---------------+----------+------------+------------+
    | id_pegawai | nama_pegawai       | jenis_kelamin | gaji     | alamat     | departemen |
    +------------+--------------------+---------------+----------+------------+------------+
    |          4 | Achmad Fathoni     | L             |  3000000 | Batang     | IT         |
    |          7 | Dodi Al Farizi     | L             |  3000000 | Kendal     | FIN        |
    |         10 | Doni Nugroho       | L             |  3750000 | Jakarta    | HRD        |
    |          6 | Iskiyati           | P             |  3000000 | Semarang   | ACC        |
    |          2 | Naura Krasiva      | P             |  1500000 | Tegal      | FIN        |
    |          1 | Nursalim Al Farizi | L             |  1000000 | Brebes     | IT         |
    |          3 | Nurul Anawariyah   | P             |  2000000 | Pemalang   | HRD        |
    |          5 | Nurul Hikmah       | P             |  9000000 | Pekalongan | DIR        |
    |          9 | Susanti            | P             | 43500000 | Banyumas   | MKT        |
    |          8 | Susanto            | L             |  4500000 | Cilacap    | MKT        |
    +------------+--------------------+---------------+----------+------------+------------+
    10 rows in set (0.00 sec)
    
    
Sekian tutorial singkat tentang Cara Menggunakan Order By Clause Di MySQL. Semoga bermanfaat & Happy Learning MySQL.

Salam,

Nursalim

No comments:

Post a Comment