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

Tại sao tôi không thể sử dụng bí danh trong cột đếm (*) và tham chiếu nó trong mệnh đề có?

Xem tài liệu được CodeByMoonlight tham chiếu trong câu trả lời cho câu hỏi gần đây của bạn.

Mệnh đề HAVING được đánh giá trước SELECT - vì vậy máy chủ chưa biết về bí danh đó.

  1. Đầu tiên là sản phẩm của tất cả các bảng trong từ mệnh đề được hình thành.
  2. ở đâu sau đó mệnh đề được đánh giá để loại bỏ các hàng không thỏa mãn điều kiện tìm kiếm.
  3. Tiếp theo, các hàng được nhóm lại bằng cách sử dụng các cột trong nhóm theo mệnh đề.
  4. Sau đó, các Nhóm không đáp ứng điều kiện tìm kiếm trong điều khoản đặt ra bị loại bỏ.
  5. Tiếp theo, các biểu thức trong select danh sách mục tiêu mệnh đề được đánh giá.
  6. Nếu khác biệt từ khóa hiện tại trong mệnh đề select, các hàng trùng lặp hiện đã bị loại bỏ.
  7. Liên minh được thực hiện sau khi mỗi lựa chọn phụ được đánh giá.
  8. Cuối cùng, các hàng kết quả được sắp xếp theo các cột được chỉ định theo thứ tự mệnh đề.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. varchar (500) có lợi thế hơn so với varchar (8000)?

  2. Cách tốt nhất để triển khai Hiệp hội đa hình trong SQL Server là gì?

  3. Thoát một chuỗi trong SQL Server để an toàn khi sử dụng trong biểu thức LIKE

  4. Nhập / Xuất cơ sở dữ liệu với SQL Server Management Studio

  5. Những hạn chế đối với SQL Server Compact là gì? (Hoặc - làm thế nào để người ta chọn một cơ sở dữ liệu để sử dụng trên nền tảng MS?)