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 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

7.5. soi kèo bóng đá truoctran

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 soi kèo bóng đá truoctran. Nếu soi kèo bóng đá truoctran không được chọn, các hàng sẽ được trả lại theo thứ tự không xác định.

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

Chọnselect_listtừTable_ExpressionĐặt soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 hơn một biểu thức được chỉ định, các giá trị sau được sử dụng để soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran đầu, trong đónhỏ hơnHồiđược định nghĩa theo các điều khoản<toán tử. Tương tự, thứ tự giảm dần được xác định vớitoán tử.[5]

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 theo thứ tự soi kèo bóng đá truoctran. Theo mặc định, các giá trị null soi kèo bóng đá truoctran như thể lớn hơn bất kỳ giá trị không null nào;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 soi kèo bóng đá truoctran. Ví dụĐặt soi kèo bóng đá truoctran bởi x, y desccó nghĩa làĐặt soi kèo bóng đá truoctran bởi X ASC, Y Desc, không giống nhưĐặt soi kèo bóng đá truoctran 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:

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

Cả hai đều soi kèo bóng đá truoctran 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àkhôngđú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 soi kèo bóng đá truoctran 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 một cột từ biểu thức bảng. Cột đầu ra được sử dụng trong các trường hợp như vậy.ASĐể đổi tên cột đầu ra để phù hợp với tên của một số bảng khác.

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



[5]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ự soi kèo bóng đá truoctran choASCDesc. Thông thường, các loại dữ liệu sẽ được thiết lập để<Các toán tử tương ứng với thứ tự soi kèo bóng đá truoctran này, nhưng nhà thiết kế kiểu dữ liệu do người dùng xác định có thể chọn làm điều gì đó khác biệt.