Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá pháp phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

7.5. kèo bóng đá pháp

Sau khi một truy vấn đã tạo ra một bảng đầu ra (sau khi danh sách chọn đã được xử lý), nó có thể tùy ý được kèo bóng đá pháp. Nếu kèo bóng đá pháp không được chọn, các hàng sẽ được trả lại theo thứ tự không xác định. Thứ tự thực tế trong trường hợp đó sẽ phụ thuộc vào các loại kế hoạch quét và tham gia và thứ tự trên đĩa, nhưng nó không được dựa vào. Một thứ tự đầu ra cụ thể chỉ có thể được đảm bảo nếu bước kèo bóng đá pháp được chọn rõ ràng.

TheĐặt kèo bóng đá pháp bởimệnh đề Chỉ định thứ tự kèo bóng đá pháp:

Chọnselect_listtừTable_ExpressionĐặt kèo bóng đá pháp bởisort_expression1[ASC | Desc] [NULLS Đầu tiên | CUỐI CÙNG]
             [, sort_expression2[ASC | Desc] [NULLS Đầu tiên | CUỐI CÙNG] ...]

Biểu thức kèo bóng đá pháp có thể là bất kỳ biểu thức nào có giá trị trong danh sách chọn của truy vấn. Một ví dụ là:

Chọn A, B từ Bảng 1 thứ tự bằng A + B, C;

Khi có nhiều biểu thức được chỉ định, các giá trị sau được sử dụng để kèo bóng đá pháp các hàng bằng với các giá trị trước đó. Mỗi biểu thức có thể được theo sau bởi một tùy chọnASChoặcDescTừ khóa để đặt hướng kèo bóng đá pháp thành tăng dần hoặc giảm dần.ASCThứ tự là mặc định. Thứ tự tăng dần đặt các giá trị nhỏ hơn lên kèo bóng đá pháp đầu, trong đó"nhỏ hơn"được định nghĩa theo kèo bóng đá pháp điều khoản<toán tử. Tương tự, thứ tự giảm dần được xác định vớitoán tử.[1]

TheNULLS đầu tiênNULLS LASTCác tùy chọn có thể được sử dụng để xác định xem các null có xuất hiện trước hay sau các giá trị không null trong thứ tự kèo bóng đá pháp. Theo mặc định, các giá trị null kèo bóng đá pháp như thể lớn hơn bất kỳ giá trị không null nào; đó là,NULLS đầu tiênlà mặc định choDescOrder vànulls cuối cùngnếu không.

Lưu ý rằng các tùy chọn đặt hàng được coi là độc lập cho mỗi cột kèo bóng đá pháp. Ví dụĐặt kèo bóng đá pháp bởi x, y desccó nghĩa làĐặt kèo bóng đá pháp bởi x ASC, y desc, không giống nhưĐặt kèo bóng đá pháp bởi x desc, y desc.

Asort_expressioncũng có thể là nhãn cột hoặc số của cột đầu ra, như trong:

13183_13285

Cả hai đều kèo bóng đá pháp theo cột đầu ra đầu tiên. Lưu ý rằng tên cột đầu ra phải đứng một mình, nghĩa là nó không thể được sử dụng trong một biểu thức - ví dụ, đây là13494_13499đúng:

Chọn A + B làm tổng, C từ Bảng1 thứ tự theo Sum + C;          -- sai

Hạn chế này được thực hiện để giảm sự mơ hồ. Vẫn còn sự mơ hồ nếu mộtĐặt kèo bóng đá pháp bởiMục là một tên đơn giản có thể khớp với tên cột đầu ra hoặc cột từ biểu thức bảng. Cột đầu ra được sử dụng trong kèo bóng đá pháp trường hợp như vậy. Điều này sẽ chỉ gây ra sự nhầm lẫn nếu bạn sử dụngASĐể đổi tên cột đầu ra để phù hợp với tên của một số bảng khác.

Đặt kèo bóng đá pháp bởicó thể được áp dụng cho kết quả của AUnion, Intersecthoặcngoại trừKết hợp, nhưng trong trường hợp này, nó chỉ được phép kèo bóng đá pháp theo tên hoặc số cột đầu ra, không phải bởi các biểu thức.

ghi chú

[1]

thực tế,PostgreSQLsử dụngLớp toán tử B-cây mặc địnhĐối với kiểu dữ liệu của biểu thức để xác định thứ tự kèo bóng đá pháp choASCDesc. Thông thường, kèo bóng đá pháp loại dữ liệu sẽ được thiết lập để<14983_15109