Pengisihan data memainkan peranan dalam senario di mana anda perlu menyusun data mengikut susunan tertentu yang berguna untuk visualisasi data, mengumpul cerapan data dan banyak lagi. Ia juga menjadikan proses mendapatkan semula, membersihkan dan menganalisis data dengan lebih mudah.
Dalam SQL, kami mempunyai klausa ORDER BY yang memberikan kami fungsi untuk mengisih data ke dalam susunan menaik atau menurun.
Dalam tutorial ini, kita akan belajar cara mengisih data dalam tertib menaik menggunakan ORDER BY dan kata kunci ASC.
NOTA: Untuk tujuan demonstrasi, kami akan menggunakan pangkalan data sampel Sakila dan MySQL versi 8.0. Jangan ragu untuk merujuk dan menggunakan mana-mana set data yang anda rasa sesuai.
Perintah Menaik SQL
Susunan menaik dalam SQL hanya merujuk kepada kaedah mengisih data dalam hasil pertanyaan. Susunan menaik mungkin sama ada berangka atau abjad bergantung pada lajur isihan sasaran.
Apabila kami menggunakan tertib menaik pada isihan lajur, SQL akan menyusun data yang berjulat daripada nilai terkecil (paling rendah) kepada nilai terbesar (tertinggi).
Dalam kes rentetan, susunan menaik menggunakan susunan abjad di mana A adalah yang paling rendah dan Z adalah yang tertinggi.
PESANAN SQL OLEH
Seperti yang anda boleh meneka, cara kami melakukan pengisihan, menaik atau menurun dalam SQL adalah dengan menggunakan klausa ORDER BY.
Klausa ORDER BY membolehkan kami mengisih set hasil pertanyaan berdasarkan satu atau lebih lajur. Kita boleh menyatakan sintaks klausa seperti berikut:
PILIH lajur1, lajur2, ...DARI jadual
PESANAN OLEH lajur_untuk_isih;
Selepas klausa ORDER BY, kami menentukan kriteria pengisihan. Ini pada asasnya adalah lajur yang ingin kami pesan.
Kata Kunci SQL ASC
Kata kunci ASC dalam konteks klausa ORDER BY memberitahu enjin pangkalan data untuk mengisih data dalam tertib menaik.
Adalah baik untuk diingat bahawa ini ialah pilihan lalai untuk klausa ORDER BY. Oleh itu, walaupun kami tidak memberitahu SQL secara eksplisit untuk mengisih data dalam tertib menaik, ia akan melakukannya secara automatik sebagai operasi lalai.
Berikut ialah sintaks tentang cara kami menggunakan kata kunci ASC dalam klausa ORDER BY:
PILIH lajur1, lajur2DARI table_name
PESANAN OLEH lajur ASC;
Ini harus mengisih lajur yang ditentukan ke dalam tertib menaik.
Contoh 1: Penggunaan Asas
Mari kita lihat contoh penggunaan klausa ORDER BY. Pertimbangkan jadual 'filem' daripada pangkalan data sampel Sakila. Katakan kami ingin mengisih data daripada harga sewa tertinggi dalam tertib menaik.
PILIHtajuk,
release_year ,
panjang,
kadar_sewa
DARI
filem
PESANAN OLEH
kadar_sewaan ASC;
Dalam kes ini, kami menggunakan 'kadar_sewa' dalam klausa ORDER BY untuk mengisih filem dengan cepat daripada kadar sewa terendah kepada tertinggi.
Output yang terhasil adalah seperti berikut:
Contoh 2: Mengisih Berbilang Lajur
SQL juga membolehkan kami menyediakan lebih daripada satu lajur sebagai parameter pengisihan. Ini boleh menjadi sangat berguna apabila kita perlu mengisih data berdasarkan lebih daripada satu kriteria.
Untuk mencapai ini, kita hanya boleh menyenaraikan berbilang lajur dalam klausa ORDER BY dipisahkan dengan koma.
Mari kita ambil jadual 'pembayaran' dari jadual Sakila. Kami boleh mengisih berdasarkan amaun dan 'tarikh_bayaran' dalam tertib menaik seperti yang ditunjukkan dalam contoh pertanyaan berikut:
PILIHID pelanggan,
jumlah,
tarikh pembayaran
DARI
bayaran
PESANAN OLEH
jumlah ASC,
tarikh_bayaran ASC;
Pertanyaan ini harus mengambil lajur 'id_pelanggan', 'jumlah' dan 'tarikh_bayaran' daripada jadual 'pembayaran'. Walau bagaimanapun, pertanyaan terlebih dahulu mengisih keputusan dalam susunan menaik berdasarkan jumlah pembayaran diikuti dengan tarikh pembayaran.
Ini menyediakan kriteria pengisihan berganda seperti yang ditunjukkan dalam jadual yang terhasil:
Kesimpulan
Dalam tutorial ini, kami menyelam jauh ke dalam proses mengisih data dalam SQL menggunakan klausa ORDER BY. Kami juga mempelajari cara kami boleh menggunakan kata kunci ASC untuk mengisih data dalam tertib menaik. Akhir sekali, kami meneroka cara kami boleh mengisih data menggunakan berbilang lajur.