Tutorial ini adalah bagian dari seri Belajar Query SQL Dasar Menggunakan MySQL. Dalam tutorial ini, kita akan membahas query SQL untuk melakukan pengurutan baris tabel di MySQL menggunakan klausa ORDER BY dengan kata kunci ASC atau DESC untuk mengurutkan secara ascending atau descending.
Pesan Berdasarkan Kueri
PESAN Oleh klausa dapat digunakan untuk melakukan pengurutan pada baris tabel baik dalam urutan menaik atau menurun.
# ORDER BY - Syntax - Default Ascending
SELECT * FROM `table_name` ORDER BY `column_name`;
# ORDER BY - Syntax - Ascending
SELECT * FROM `table_name` ORDER BY `column_name` ASC;
# ORDER BY - Syntax - Descending
SELECT * FROM `table_name` ORDER BY `column_name` DESC;
Penjelasan Kueri
PESAN OLEH klausa dapat digunakan untuk mengurutkan baris dengan menentukan kolom yang akan digunakan untuk menyortir. Kita juga dapat menggunakan klausa ORDER BY dengan WHERE untuk melakukan operasi filter atau pencarian dengan pengurutan.
Kita harus menentukan setidaknya satu kolom menggunakan klausa ORDER BY untuk mengurutkan baris. Kami juga dapat menentukan urutan untuk mengurutkan baris dalam urutan menaik atau menurun masing-masing menggunakan kata kunci ASC atau DESC.
Kami juga dapat menerapkan beberapa operasi pengurutan di mana pengurutan berikutnya dapat diterapkan mengikuti hasil yang dikembalikan oleh operasi pengurutan yang lebih dulu.
Contoh
Bagian ini memberikan contoh untuk melakukan pengurutan menggunakan klausa ORDER BY dengan dan tanpa klausa WHERE. Gunakan kueri yang disebutkan di bawah ini untuk membuat tabel pengguna yang memiliki id, nama depan, nama belakang, dan kolom aktif untuk menyimpan data pengguna.
# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));
Kueri yang disebutkan di bawah ini dapat digunakan untuk memasukkan data ke dalam tabel pengguna.
# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'John', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );
Kueri yang disebutkan di atas akan menyisipkan 5 baris dalam tabel yang memiliki id, nama depan, nama belakang, dan kolom aktif untuk mewakili 5 pengguna yang berbeda.
Sekarang kita akan menggunakan klausa ORDER BY tanpa klausa WHERE untuk mengurutkan baris menggunakan kolom nama depan atau nama belakang dari tabel pengguna. Hal ini dapat dilakukan dengan menggunakan klausa ORDER BY di MySQL seperti yang ditunjukkan di bawah ini.
# ORDER BY - Ascending
SELECT * FROM `user` ORDER BY `first_name`;
SELECT * FROM `user` ORDER BY `first_name` ASC;
# Result
4 Harsh Upadhyay 1
1 John Smith 1
3 John Ponting 0
2 Rick Jones 1
5 Tajwinder Singh 0
# ORDER BY - Descending
SELECT * FROM `user` ORDER BY `first_name` DESC;
# Result
5 Tajwinder Singh 0
2 Rick Jones 1
1 John Smith 1
3 John Ponting 0
4 Harsh Upadhyay 1
# ORDER BY - Ascending - Multiple
SELECT * FROM `user` ORDER BY `first_name`, `last_name`;
# Result
4 Harsh Upadhyay 1
3 John Ponting 0
1 John Smith 1
2 Rick Jones 1
5 Tajwinder Singh 0
Kueri yang disebutkan di atas melakukan pengurutan dalam urutan menaik dan menurun menggunakan klausa ORDER BY. Sekarang kita akan mengurutkan baris dengan klausa WHERE seperti yang ditunjukkan di bawah ini.
# ORDER BY - Ascending - Filter active users
SELECT * FROM `user` WHERE `active` = 1 ORDER BY `first_name`;
# Result
4 Harsh Upadhyay 1
1 John Smith 1
2 Rick Jones 1
# ORDER BY - Descending - Filter active users
SELECT * FROM `user` WHERE `active` = 1 ORDER BY `first_name` DESC;
# Result
2 Rick Jones 1
1 John Smith 1
4 Harsh Upadhyay 1
Ini adalah bagaimana kita dapat menggunakan klausa ORDER BY dengan dan tanpa klausa WHERE untuk mengurutkan baris tabel untuk kolom tertentu.