Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menentukan urutan pengurutan yang digunakan pada objek yang dikembalikan dalam pernyataan SELECT.
Sintaksis
[ ORDER BY
{
order_by_expression [SKIP n] [LIMIT n]
[ COLLATE collation_name ]
[ ASC | DESC ]
}
[ ,…n ]
]
Argumen
order_by_expression Ekspresi kueri yang valid yang menentukan properti yang akan diurutkan. Beberapa ekspresi pengurutan dapat ditentukan. Urutan ekspresi pengurutan dalam klausul ORDER BY menentukan organisasi kumpulan hasil yang diurutkan.
COLLATE {collation_name} Menentukan bahwa operasi ORDER BY harus dilakukan sesuai dengan kolase yang ditentukan dalam collation_name. COLLATE hanya berlaku untuk ekspresi string.
ASC Menentukan bahwa nilai dalam properti yang ditentukan harus diurutkan dalam urutan naik, dari nilai terendah ke nilai tertinggi. Ini adalah default.
DESC Menentukan bahwa nilai dalam properti yang ditentukan harus diurutkan dalam urutan turun, dari nilai tertinggi ke nilai terendah.
BATASI n Hanya item pertama n yang akan dipilih.
SKIP n Lewati item pertama n .
Komentar
Klausa ORDER BY diterapkan secara logis ke hasil klausa SELECT. Klausa ORDER BY dapat mereferensikan item dalam daftar pilih dengan menggunakan aliasnya. Klausa ORDER BY juga dapat mereferensikan variabel lain yang saat ini berada dalam cakupan. Namun, jika klausa SELECT telah ditentukan dengan pengubah DISTINCT, klausa ORDER BY hanya dapat mereferensikan alias dari klausa SELECT.
SELECT c AS c1 FROM cs AS c ORDER BY c1.e1, c.e2
Setiap ekspresi dalam klausul ORDER BY harus mengevaluasi ke beberapa jenis yang dapat dibandingkan untuk ketidaksamaan yang diurutkan (kurang dari atau lebih besar dari, dan sebagainya). Jenis-jenis ini umumnya adalah primitif skalar seperti angka, string, dan tanggal. RowTypes dari jenis yang sebanding juga dapat diurutkan sebanding.
Jika kode Anda berulang melalui set yang diurutkan, selain untuk proyeksi tingkat atas, output tidak dijamin memiliki pesanan yang dipertahankan.
Dalam sampel berikut, urutan dijamin akan dipertahankan:
SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName
Dalam kueri berikut, pengurutan kueri berlapis diabaikan:
SELECT C2.FirstName, C2.LastName
FROM (SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName) as C2
Untuk memiliki operasi UNION, UNION ALL, EXCEPT, atau INTERSECT yang diurutkan, gunakan pola berikut:
SELECT ...
FROM ( UNION/EXCEPT/INTERSECT operation )
ORDER BY ...
Kata kunci terbatas
Kata kunci berikut harus diapit dalam tanda kutip saat digunakan dalam ORDER BY klausa:
SALIB
PENUH
KUNCI
KIRI
PERINTAH
LUAR
benar
BARIS
NILAI
Mengurutkan Kueri Berlapis
Dalam Kerangka Kerja Entitas, ekspresi berlapis dapat ditempatkan di mana saja dalam kueri; urutan kueri berlapis tidak dipertahankan.
Kueri berikut akan mengurutkan hasil dengan nama belakang:
SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName
Dalam kueri berikut, pengurutan kueri berlapis diabaikan:
SELECT C2.FirstName, C2.LastName
FROM (SELECT C1.FirstName, C1.LastName
FROM AdventureWorks.Contact as C1
ORDER BY C1.LastName) as C2
Contoh
Kueri SQL Entitas berikut menggunakan operator ORDER BY untuk menentukan urutan pengurutan yang digunakan pada objek yang dikembalikan dalam pernyataan SELECT. Kueri didasarkan pada Model Penjualan AdventureWorks. Untuk mengkompilasi dan menjalankan kueri ini, ikuti langkah-langkah berikut:
Ikuti prosedur dalam Cara: Menjalankan Kueri yang Mengembalikan Hasil StructuralType.
Teruskan kueri berikut sebagai argumen ke
ExecuteStructuralTypeQuerymetode :
SELECT VALUE p FROM AdventureWorksEntities.Products
AS p ORDER BY p.ListPrice