Sekarang mari kita belajar mengenal ORDER BY clause pada sebuah query data. ORDER BY digunakan jika kita ingin mengurutkan data yang ingin kita tampilkan.
Sebagai gambaran sintaks yang digunakan adalah sebagai berikut:
list_select
FROM
nama_table
ORDER BY
nama_field [ASC | DESC ]
ORDER BY diletakan di akhir query setelah FROM clause dan WHERE Clause (jika ada).
Kita dapat mengurutkan data berdasarkan nilai sebuah kolom atau lebih dengan menambahkan nama kolom setelah ORDER BY.
Dalam mengurutkan data kita dapat menggunakan 2 tipe:
- ASC yaitu ascending yang berarti mengurutkan dari A ke Z atau dari nilai terkecil ke terbesar untuk nilai angka.
- DESC yaitu descending yang berarti mengurutkan dari Z ke A atau dari nilai terbesar ke terkecil untuk nilai angka.
Bagaimana mengurutkan data berdasarkan sebuah kolom berurutan secara Ascending?
Secara default jika kita menambahkan ORDER BY + nama_kolom pada sebuah query maka urutan dilakukan secara ascending tanpa perlu menambahkan ASC. Tapi bukan berarti kita tidak bisa menambahkan ASC.
Untuk lebih memahami kita akan mencoba 3 buah query pada table customers:
Query 1 : Tanpa ORDER BY
FROM [dbo].[customers]
Query 2. ORDER BY kolom customercode
SELECT customercode, customername
FROM [dbo].[customers]
ORDER BY customercode
Query 3: ORDER BY kolom customername
FROM [dbo].[customers]
ORDER BY customername
Hasilnya akan tampak sebagai berikut:
Bagaimana mengurutkan data berdasarkan sebuah kolom berurutan secara Descending?
Selanjutnya kita akan mencoba mengurutkan sebaliknya, dari Z-A atau dari nilai angka besar ke kecil. Dengan contoh 2 buah query pada table customers:
Query 1: ORDER BY kolom customercode
SELECT customercode, customername
FROM [dbo].[customers]
ORDER BY customercode DESC
Query 2: ORDER BY kolom customername
FROM [dbo].[customers]
ORDER BY customername DESC
Hasilnya akan tampak sebagai berikut:
Bagaimana mengurutkan data berdasarkan sebuah 2 kolom atau lebih?
Mungkinkan mengurutkan berdasarkan lebih dari 1 kolom? Jawabannya tentu saja bisa, kita tinggal menambahkan koma diantara urutan kolom order. Untuk lebih jelasnya mari kita lihat pada query berikut ini:
Query 1 : Tanpa ORDER BY
Query 2. ORDER BY kolom custlevelcode kemudian custlevelname
FROM [dbo].[customers]
ORDER BY custlevelcode, customername
Hasilnya:
Lalu bagaimana mengurutkan 2 kolom atau lebih (multi kolom) yang berbeda tipe urutan [ASC | DESC]?
Jawabanya tentu saja dengan menambahkan ASC atau DESC di masing-masing. Sebagaimana contoh berikut:Query 1 : ORDER BY kolom custlevelcode ASC kemudian custlevelname DESC
Query 2. ORDER BY kolom custlevelcode DESC kemudian custlevelname ASC
Mengurutkan Data dengan Menggunakan Expression Tertentu
Selain mengurutkan berdasarkan nama field, ORDER BY juga dapat mengurutkan berdasarkan ekspresi atau formula. Seperti contoh di bawah ini kita akan mengurutkan berdasarkan panjang karakter customername yaitu menggunakan LEN.Query:
0 Comments