MySQL: Klausa ORDER BY - Kita Koding

Klausa ORDER BY digunkan untuk mengurutkan data berdasarkan fiel tertentu. Dalam klausa ini terdapat dua jenis pengurutan yaitu:
  • Ascending (ASC), merupakan pengurutan secara menaik, dari nilai yang terkecil hingga yang terbesar.
  • Desecending (DESC), merupakan pengurutan secara menurun dari nilai yang terbesar ke nilai yang terckecil.

Sintaks Klausa ORDER BY

Klausa ORDER BY digunakan pada saat pernyataan SELECT, sintaksnya sebagai berikut:


SELECT daftar_nama_fieldFROM nama_tabel[WHERE syarat]ORDER BY nama_kolom ASC|DESC


Keterangan:

  • daftar_nama_field  adalah nama-nama kolom yang akan ditampilkan
  • nama_tabel adalah nama tabel yang akana dikolom
  • syarat, merupakan ekspresi logika yang digunakan menfiter record-record
  • nama_kolom adalah nama kolom dimana record-record ditampilkan berdasarkan kolom tersebut.
  • klausa ASC menyatakan record ditampilkan urut secara menaik
    (ascending), secara default jika klausa ASC dan DESC tidak disertakan
    maka pengurutan akan dilakukan secara ascending.

Latihan Klausa ORDER BY

Penyiapan data

Jika database akademik dan matakuliah belum anda buat maka siapkan data terlebih dahulu sebagai berikut:

  • Jalankan MySQL command prompt, dengan perintah sebagai berikut:

CD C:\xampp\mysql\binmysql -u root -p



mysql> CREATE DATABASE akademik;Query OK, 1 row affected (0.15 sec)


  • Aktifkan database akademik

mysql> USE akademik;Database changed


  • Buat tabel matakuliah dengan struktur sebagai berikut
FieldTypeIndex
kode_mkCHAR(4)PRIMARY KEY
nama_mkVARCHAR(30)
sksINT(1)
semesterINT(1)

mysql> CREATE TABLE matakuliah -> (npm CHAR(4) PRIMARY KEY, -> nama_mk VARCHAR(50), -> sks INT(1), -> semester INT(1));Query OK, 0 rows affected (2.20 sec)


  • Tampilkan struktur tabel matakuliah

mysql> DESC matakuliah;+----------+-------------+------+-----+---------+-------+| Field    | Type        | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| npm      | char(4)     | NO   | PRI | NULL    |       || nama_mk  | varchar(50) | YES  |     | NULL    |       || sks      | int(1)      | YES  |     | NULL    |       || semester | int(1)      | YES  |     | NULL    |       |+----------+-------------+------+-----+---------+-------+4 rows in set (1.14 sec)


  •  Masukkan data-data berikut pada tabel matakuliah
data matakuliah

 mysql> INSERT INTO `matakuliah` (`npm`, `nama_mk`, `sks`, `semester`) VALUES -> ('MK01', 'Pengantar Teknologi Informasi', 2, 1), -> ('MK02', 'Algoritma Dan Pemrograman', 3, 1), -> ('MK03', 'Arsitektur Dan Organisasi Komputer', 4, 1), -> ('MK04', 'Desain Web', 4, 1), -> ('MK05', 'Aljabar Linier', 2, 2), -> ('MK06', 'Instalasi Dan Troubleshooting', 4, 2), -> ('MK07', 'Bahasa Inggris', 2, 3), -> ('MK08', 'Bahasa Rakitan dan C++', 3, 3), -> ('MK09', 'Interaksi Manusia dan Komputer', 3, 3), -> ('MK10', 'Bahasa Ingrris Teknik Informatika', 2, 4), -> ('MK11', 'Interfacing', 3, 4), -> ('MK12', 'Grafika Komputer', 3, 5), -> ('MK13', 'Algoritma Genetika', 4, 5), -> ('MK14', 'Bisnis Berbasis Internet', 3, 6), -> ('MK15', 'Cisco dan Mikrotik', 3, 6), -> ('MK16', 'Administrasi Sistem Jaringan', 3, 6), -> ('MK17', 'Animasi', 3, 7), -> ('MK18', 'Asistensi', 1, 7), -> ('MK19', 'Data Mining', 2, 7), -> ('MK20', 'e-Commerce', 3, 7);Query OK, 20 rows affected (0.05 sec)Records: 20 Duplicates: 0 Warnings: 0


Contoh penggunaan Klausa ORDER BY

  • Tampilkan kolom nama_mk, sks dan semester pada tabel matakuliah urut berdasarkan nama_mk

mysql> SELECT nama_mk, sks, semester    -> FROM matakuliah    -> ORDER BY nama_mk;+------------------------------------+------+----------+| nama_mk                            | sks  | semester |+------------------------------------+------+----------+| Administrasi Sistem Jaringan       |    3 |        6 || Algoritma Dan Pemrograman          |    3 |        1 || Algoritma Genetika                 |    4 |        5 || Aljabar Linier                     |    2 |        2 || Animasi                            |    3 |        7 || Arsitektur Dan Organisasi Komputer |    4 |        1 || Asistensi                          |    1 |        7 || Bahasa Inggris                     |    2 |        3 || Bahasa Ingrris Teknik Informatika  |    2 |        4 || Bahasa Rakitan dan C++             |    3 |        3 || Bisnis Berbasis Internet           |    3 |        6 || Cisco dan Mikrotik                 |    3 |        6 || Data Mining                        |    2 |        7 || Desain Web                         |    4 |        1 || e-Commerce                         |    3 |        7 || Grafika Komputer                   |    3 |        5 || Instalasi Dan Troubleshooting      |    4 |        2 || Interaksi Manusia dan Komputer     |    3 |        3 || Interfacing                        |    3 |        4 || Pengantar Teknologi Informasi      |    2 |        1 |+------------------------------------+------+----------+20 rows in set (0.00 sec)


  • Tampilkan field nama_mk dan sks pada tabel matakuliah urut jumlah sks terbesar ke sks terkecil.

mysql> SELECT nama_mk, sks    -> FROM matakuliah    -> ORDER BY sks DESC    -> ;+------------------------------------+------+| nama_mk                            | sks  |+------------------------------------+------+| Instalasi Dan Troubleshooting      |    4 || Algoritma Genetika                 |    4 || Arsitektur Dan Organisasi Komputer |    4 || Desain Web                         |    4 || Bisnis Berbasis Internet           |    3 || Cisco dan Mikrotik                 |    3 || e-Commerce                         |    3 || Administrasi Sistem Jaringan       |    3 || Animasi                            |    3 || Grafika Komputer                   |    3 || Interfacing                        |    3 || Interaksi Manusia dan Komputer     |    3 || Bahasa Rakitan dan C++             |    3 || Algoritma Dan Pemrograman          |    3 || Bahasa Ingrris Teknik Informatika  |    2 || Bahasa Inggris                     |    2 || Aljabar Linier                     |    2 || Data Mining                        |    2 || Pengantar Teknologi Informasi      |    2 || Asistensi                          |    1 |+------------------------------------+------+20 rows in set (0.00 sec)


  • Tampilkan semester, nama_mk, sks pada tabel matakuliah urut semester dan nama_mk

mysql> SELECT semester, nama_mk, sks    -> FROM matakuliah    -> ORDER BY semester, nama_mk;+----------+------------------------------------+------+| semester | nama_mk                            | sks  |+----------+------------------------------------+------+|        1 | Algoritma Dan Pemrograman          |    3 ||        1 | Arsitektur Dan Organisasi Komputer |    4 ||        1 | Desain Web                         |    4 ||        1 | Pengantar Teknologi Informasi      |    2 ||        2 | Aljabar Linier                     |    2 ||        2 | Instalasi Dan Troubleshooting      |    4 ||        3 | Bahasa Inggris                     |    2 ||        3 | Bahasa Rakitan dan C++             |    3 ||        3 | Interaksi Manusia dan Komputer     |    3 ||        4 | Bahasa Ingrris Teknik Informatika  |    2 ||        4 | Interfacing                        |    3 ||        5 | Algoritma Genetika                 |    4 ||        5 | Grafika Komputer                   |    3 ||        6 | Administrasi Sistem Jaringan       |    3 ||        6 | Bisnis Berbasis Internet           |    3 ||        6 | Cisco dan Mikrotik                 |    3 ||        7 | Animasi                            |    3 ||        7 | Asistensi                          |    1 ||        7 | Data Mining                        |    2 ||        7 | e-Commerce                         |    3 |+----------+------------------------------------+------+20 rows in set (0.02 sec)


  • Tampilkan secara urut nama_mk untuk matakuliah yang sks=3

mysql> SELECT *    -> FROM matakuliah    -> WHERE sks=3    -> ORDER BY nama_mk;+------+--------------------------------+------+----------+| npm  | nama_mk                        | sks  | semester |+------+--------------------------------+------+----------+| MK16 | Administrasi Sistem Jaringan   |    3 |        6 || MK02 | Algoritma Dan Pemrograman      |    3 |        1 || MK17 | Animasi                        |    3 |        7 || MK08 | Bahasa Rakitan dan C++         |    3 |        3 || MK14 | Bisnis Berbasis Internet       |    3 |        6 || MK15 | Cisco dan Mikrotik             |    3 |        6 || MK20 | e-Commerce                     |    3 |        7 || MK12 | Grafika Komputer               |    3 |        5 || MK09 | Interaksi Manusia dan Komputer |    3 |        3 || MK11 | Interfacing                    |    3 |        4 |+------+--------------------------------+------+----------+10 rows in set (0.00 sec)

0 Komentar