SQL merampingkan naik. Bekerja dengan Database

Seringkali ada kebutuhan untuk menampilkan hasil kueri dalam urutan tertentu, misalnya, sesuai dengan alfabet. Untuk melakukan ini, di DBMS ada fitur khusus dalam bahasa SQL - menyortir. Dalam hal ini, programmer dapat memilih bidang mana dan dalam urutan apa itu akan terjadi pada hasil yang diinginkan, tanpa menerapkan keterampilan pemrograman yang serius.

Apa yang disortir dalam database?

Bekerja dengan basis data terus-menerus terkait dengan sejumlah besar informasi yang diperlukan untuk menentukan pesanan. Saat ini, ada sejumlah DBMS, yang memiliki berbagai fungsi, yang paling populer adalah Oracle dan MS SQL. Menyortir informasi sebagai salah satu prosedur utama dalam bekerja dengan database disediakan oleh fungsi bawaan khusus di masing-masing.

Peringkat data memungkinkan Anda untuk menyederhanakan proses pencarian, serta dalam beberapa kasus membantu menyelesaikan beberapa tugas atau mengoptimalkan pengoperasian program. Penyortiran SQL dilakukan sesuai dengan bidang yang dipilih secara terpisah, dan jika perlu, jika Anda memiliki nilai yang sama dalam elemen bidang ini, Anda dapat menentukan parameter tambahan yang menentukan lokasi baris.

Urutkan tim.

Penyortiran SQL dalam database disediakan dengan menggunakan fungsi berdasarkan fungsi. Jadi, ketika menampilkan informasi dari database, setelah menentukan kolom dan tabel yang akan dibaca, Anda harus menentukan perintah Sort, setelah itu perlu untuk menentukan bidang atau bidang yang akan dilakukan.

Misalnya, jika Anda perlu menerima data dari bidang nama dan usia dari tabel orang, sambil mengganggu hasil dalam urutan abjad melalui kolom nama, itu akan membantu untuk membuat kueri berikut: Pilih Nama, usia dari pesanan orang dengan nama.

Bagaimana cara mengatur urutan pengurutan?

Kondisi modern mengatur berbagai tugas sebelum programmer, dan kadang-kadang perlu untuk mendatang, dalam urutan apa hasilnya diturunkan - turun atau naik, berdasarkan abjad atau dalam urutan terbalik? Dan untuk ini, dalam bahasa SQL, urutan penyortiran ditentukan dengan menambahkan kata kunci ke permintaan. Setelah memilih bidang dan tabel, dari mana informasi yang diinginkan akan diterima, Anda harus menambahkan pesanan dengan, setelah itu Anda menentukan nama kolom yang perlu diurutkan.

Untuk mendapatkan urutan terbalik, Anda perlu menentukan parameter Desc setelah nama. Jika Anda merampingkan item diperlukan pada dua atau lebih kriteria, kolom ditunjukkan oleh koma, dan prioritas dalam peringkat akan diberikan ke bidang yang terjadi pada daftar pertama. Perlu dicatat bahwa membangun item dalam urutan terbalik Parameter Desc hanya menyediakan satu bidang, setelah itu kata kunci ini ditentukan, jadi jika perlu, Anda perlu menentukan di semua kolom yang dipilih.

Metode penyortiran alternatif

Dengan tidak adanya kemampuan untuk menggunakan fungsi penyortiran SQL built-in, Anda dapat menulis salah satu algoritma yang diketahui. Jika perlu untuk mencapai urutan cepat elemen, perlu untuk menerapkan metode berdasarkan susunan elemen menghantui. Metode peringkat "gelembung" juga memiliki popularitas besar, di mana dua elemen yang berdekatan berubah di tempat-tempat jika lokasi yang salah, "pengurutan piramidal", mengirim elemen terbesar ke akhir daftar, serta "menyortir sisipan" ", Yang menentukan lokasi setiap elemen pada gilirannya.

Namun, penulisan algoritma secara pribadi tidak akan secara signifikan meningkatkan kecepatan penyortiran, namun, berkontribusi pada pengembangan keterampilan pemrograman, dan juga akan memungkinkan untuk memodifikasi proses dengan menyiapkan skema peringkat untuk database tertentu untuk meningkatkan efisiensi program.

Pesanan berdasarkan penawaran di Access Sorts Records dikembalikan oleh permintaan, naik atau turunkan nilai bidang yang ditentukan (bidang).

Sintaksis

PILIH list_pole.
Dari. meja
Dimana. kondisi_tealth.
[, field2. ][, ...]]]

Pilih instruksi yang berisi pesanan berdasarkan proposal mencakup item-item berikut:

Catatan

Pesanan berdasarkan pesanan dengan tidak wajib. Ini harus digunakan ketika perlu untuk menampilkan data dalam formulir yang diurutkan.

Secara default, urutan pengurutan naik diterapkan (dari A hingga Z, dari 0 hingga 9). Dalam dua contoh di bawah ini, itu ditunjukkan untuk mengurutkan nama karyawan dengan nama belakang.

Pilih Nama Last, FirstName
Dari karyawan.
Memesan dengan nama belakang;
Pilih Nama Last, FirstName
Dari karyawan.
Memesan dengan nama belakang ASC;

Untuk menyortir turun (dari saya hingga a, dari 9 hingga 0), tambahkan kata desc yang dipesan di akhir setiap bidang yang ingin Anda urutkan catatan. Dalam contoh di bawah ini, menyortir nama karyawan dalam urutan upah yang menurun dilakukan.

Pilih Nama Belakang, Gaji
Dari karyawan.
Memesan oleh gaji Desc, nama belakang;

Jika dalam urutan kalimat, tentukan bidang yang berisi data jenis memo atau objek OLE, kesalahan akan terjadi. Inti Microsoft Access DBMS tidak mendukung penyortiran melalui bidang jenis ini.

Pesanan dengan proposal biasanya merupakan elemen terakhir dalam instruksi SQL.

Pesanan pesanan BA Anda dapat menyertakan bidang tambahan. Pertama, catatan diurutkan berdasarkan bidang yang ditunjukkan dalam urutan oleh kalimat pertama. Kemudian, untuk entri dengan nilai yang sama dari bidang pertama, menyortir bidang yang ditunjukkan oleh yang kedua, dll.


Siklus berikutnya:

Langkah 8. Penyortiran Sederhana

Jika hasil dari kueri SQL Anda harus menjadi bahan sumber laporan tertentu, pertanyaan tentang penyortiran data di dalamnya menjadi sangat penting, karena seseorang membaca laporan yang berukuran mungkin dengan benar sangat sulit untuk dengan cepat menemukan bagian dari informasinya . Untuk mengurutkan data pada kolom hasil kueri (dalam kasus kami, pada bidang tabel), kata kunci pesanan dengan digunakan dalam SQL. Contoh penyortiran paling sederhana ditunjukkan di bawah ini. Permintaan dari Langkah 2 diambil sebagai dasar: "Permintaan dengan kriteria pemilihan sederhana." Kami mengurutkan karyawan dengan bidang s_name (nama lengkap).

Pilih S_Name, S_Experience dari D_Staff di mana S_Experience

Sortir hasil kueri SQL satu bidang.

Langkah 9. Penyortiran Kompleks

Seringkali, dan bahkan hampir selalu perlu untuk mengurutkan data dengan lebih dari satu kolom dan tidak selalu dalam urutan menaik. SQL sintaks menyarankan setelah pesanan kata kunci dengan daftar kolom yang dipisahkan oleh titik koma, serta metode penyortiran untuk setiap kolom: dalam urutan nilai naik - ASC atau urutan penurunannya - desc. Dalam contoh di bawah ini, kami menunjukkan catatan tentang semua karyawan dalam urutan pengalaman mereka. Karyawan dengan pengalaman yang sama yang kami urutkan dalam urutan abjad.

Pilih S_Experience, S_Name dari D_Stuff Order oleh S_Experience Desc, S_Name ASC


Urutkan hasil kueri SQL di dua bidang.

Cukup sering, urutan penyortiran terbalik digunakan dengan kolom tipe [Tanggal]. Jika Tanggal Toko, misalnya, tanggal informasi informasi, maka ketika membalikkan pengurutan, pada awal daftar, ada catatan yang telah ditambahkan baru-baru ini relatif terhadap sisanya. Dalam hal permintaan itu mengambil pengumuman berita dari database, kami mendapatkan daftar pengumuman yang disortir dalam urutan yang menurun dari relevansi mereka, yang dapat sangat berguna karena Anda biasanya membaca pengumuman dari atas ke bawah, dan tidak semua orang menunjukkan kepada mereka Di situs berita, tetapi hanya beberapa yang paling "segar".

Di masa depan, kita mungkin perlu mengurutkan sampel kita - dalam urutan abjad untuk teks atau naik / turun - untuk nilai-nilai digital. Untuk tujuan tersebut di SQL Ada operator khusus Dipesan oleh. .

1. Urutkan data yang dipilih.

Mari kita simpan semua tabel kami dengan mengurutkan jumlah penjualan produk, yaitu pada kolom Jumlah..

PILIH * Dari jumlah produkuran berdasarkan jumlah

Kami melihat bahwa permintaan tersebut memiliki catatan yang belum dilewati naik di lapangan Jumlah.. Pastikan untuk mengikuti urutan operator, I.E. operator Dipesan oleh. Harus pergi pada akhir permintaan. Jika tidak, pesan kesalahan akan diterima.

Juga fitur operator Dipesan oleh. Itu dapat mengurutkan data pada bidang yang tidak kami pilih dalam permintaan, yaitu, cukup untuk itu dalam database.

2. Urutkan berdasarkan beberapa bidang.

Sekarang saya akan menghubungkan contoh kami juga di bidang lain. Biarkan itu menjadi bidang Kota.yang menampilkan tempat penjualan produk.

PILIH * Dari jumlah pesanan berdasarkan jumlah, kota

Pesanan penyortiran akan tergantung pada urutan lokasi bidang dalam kueri. Yaitu, dalam kasus kami, pertama data akan diurutkan berdasarkan kolom Jumlah.lalu Kota..

3. Arah penyortiran.

Terlepas dari kenyataan bahwa operator default Dipesan oleh. Mengurutkan naik, kita juga dapat mendaftarkan nilai sortir yang turun. Untuk melakukan ini, pada akhir setiap bidang, kami menempatkan operator Desc. (yang merupakan pengurangan dari kata Menurun).

PILIH * Dari Jumlah Produkuran berdasarkan Jumlah Desc, City

Dalam contoh ini, nilai di lapangan Jumlah. diberhentikan, dan di lapangan Kota. - naik. Operator Desc. Ini diterapkan hanya untuk satu kolom, jadi jika perlu, itu harus diresepkan setelah setiap bidang yang mengambil bagian dalam penyortiran.