Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bila tidak ada 'Pesan berdasarkan' yang ditentukan, urutan apa yang dipilih kueri untuk kumpulan rekaman Anda?

Jika Anda tidak menentukan ORDER BY , maka tidak ada TIDAK ADA PESANAN ditentukan.

Hasilnya dapat dikembalikan dalam urutan sewenang-wenang - dan itu mungkin berubah seiring waktu juga.

Tidak ada "tatanan alami" atau semacamnya dalam database relasional (setidaknya dalam semua yang saya ketahui). Satu-satunya cara untuk mendapatkan pemesanan yang andal adalah dengan secara eksplisit menentukan ORDER BY klausa.

Pembaruan: bagi mereka yang masih tidak percaya - inilah dua posting blog bagus yang menggambarkan hal ini (dengan contoh kode!) :

  • Conor Cunningham (Arsitek di tim Core SQL Server Engine):Tanpa Sabuk Pengaman - Mengharapkan Pesanan tanpa ORDER BY
  • Alexander Kuznetsov:Tanpa ORDER BY, tidak ada urutan pengurutan default (posting di Arsip Web)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memilih JSON Bersarang di SQL Server dengan OPENJSON

  2. Periksa apakah Objek adalah Prosedur Tersimpan dengan Menggunakan OBJECTPROPERTY() di SQL Server

  3. Menerapkan Penanganan Kesalahan dan Transaksi di SQL Server

  4. Apa gunanya tanda kurung siku [] dalam pernyataan sql?

  5. Parsing JSON di TSQL