Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Khi không có 'Thứ tự theo' được chỉ định, truy vấn sẽ chọn thứ tự nào cho tập hợp bản ghi của bạn?

Nếu bạn không chỉ định ORDER BY thì KHÔNG CÓ ĐƠN HÀNG được xác định.

Kết quả có thể được trả về theo thứ tự tùy ý - và điều đó cũng có thể thay đổi theo thời gian.

Không có "trật tự tự nhiên" hoặc bất cứ thứ gì tương tự trong cơ sở dữ liệu quan hệ (ít nhất là trong tất cả những gì tôi biết). Cách duy nhất để có được một đơn đặt hàng đáng tin cậy là rõ ràng chỉ định một ORDER BY mệnh đề.

Cập nhật: dành cho những ai vẫn chưa tin tôi - đây là hai bài đăng trên blog xuất sắc minh họa điểm này (với các mẫu mã!):

  • Conor Cunningham (Kiến trúc sư của nhóm Core SQL Server Engine):Không thắt dây an toàn - Đặt hàng mà không cần ĐẶT HÀNG bởi
  • Alexander Kuznetsov:Không có ORDER BY, không có thứ tự sắp xếp mặc định (đăng trong Kho lưu trữ 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. Tìm số nhỏ nhất không sử dụng trong SQL Server

  2. SQL Server đệ quy tự tham gia

  3. 10 câu hỏi thường gặp hàng đầu về giám sát hiệu suất máy chủ SQL

  4. Cách tạo kế hoạch thực thi trong SQL Server

  5. Truy vấn SQL để chia dữ liệu cột thành các hàng