2010-04-11 38 views
8

Thứ tự thực thi của các phần khác nhau của câu lệnh SQL chọn là gì? Chẳng hạn như
biệt
từ
trật tự bởi
nhóm bởi

chức năng multiline (count, avg, max, min ...)
đầu (sql server) hoặc hạn chế (mysql)
các bộ phận khác

Các cơ sở dữ liệu khác nhau có cùng một thứ tự thực hiện không? Cảm ơn rất nhiều.Thứ tự thực thi của các phần khác nhau của câu lệnh SQL chọn là gì?

Trả lời

13

Có một cái nhìn tại

SQL SERVER – Logical Query Processing Phases – Order of Statement Execution

  1. TỪ
  2. ON
  3. OUTER
  4. ĐÂU
  5. GROUP BY
  6. CUBE | ROLLUP
  7. CHỌN
  8. DISTINCT
  9. ORDER BY
  10. TOP

Ngoài ra, đối với một số thông tin tốt thấy Logical Query Processing

+0

đâu UNION phù hợp với thứ tự này? –

+0

@WalterMitty Tôi biết bạn đã hỏi câu hỏi của bạn một thời gian rất dài trước đây, nhưng 'UNION' và' UNION ALL' là cách để kết hợp hai truy vấn riêng biệt với nhau, vì vậy ở trên sẽ xảy ra cho truy vấn đầu tiên, sau đó truy vấn thứ hai, 'UNION' của hai kết quả sẽ được thực hiện. –

2

Câu trả lời trên đề cập đến câu hỏi nhưng có là một ngoại lệ đối với thứ tự được đề cập ở trên

khi bạn có

chọn n đầu ............

trật tự bởi

Sau đó, trật tự do sẽ được thực hiện trước khi chọn. (các mục được sắp xếp trước và sau đó chọn các mục nhập trên cùng)

0

Truy cập https://msdn.microsoft.com/en-us/library/ms189499.aspx để có giải thích tốt hơn.

Các bước sau hiển thị thứ tự xử lý lôgic hoặc thứ tự ràng buộc cho câu lệnh SELECT. Thứ tự này xác định khi các đối tượng được xác định trong một bước được tạo sẵn cho các mệnh đề trong các bước tiếp theo. Ví dụ, nếu bộ xử lý truy vấn có thể liên kết với (truy cập) các bảng hoặc khung nhìn được định nghĩa trong mệnh đề FROM, các đối tượng này và các cột của chúng được tạo sẵn cho tất cả các bước tiếp theo. Ngược lại, vì mệnh đề SELECT là bước 8, bất kỳ bí danh cột hoặc cột có nguồn gốc nào được xác định trong mệnh đề đó không thể được tham chiếu bởi các mệnh đề trước đó. Tuy nhiên, chúng có thể được tham chiếu bởi các mệnh đề tiếp theo như mệnh đề ORDER BY. Lưu ý rằng việc thực thi vật lý thực tế của câu lệnh được xác định bởi bộ xử lý truy vấn và thứ tự có thể thay đổi từ danh sách này.

TỪ

ON

THAM GIA

ĐÂU

GROUP BY

VỚI CUBE hoặc VỚI ROLLUP

CHỌN

DISTINCT

ORDER BY

TOP

Các vấn đề liên quan