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ởi
mệnh đề Chỉ định thứ tự soi kèo bóng đá truoctran:
Chọnselect_list
từ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ọnASC
hoặcDesc
Từ khóa để đặt hướng soi kèo bóng đá truoctran thành tăng dần hoặc giảm dần.ASC
Thứ 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ên
vàNULLS LAST
Cá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ên
là mặc định choDesc
Order vànulls cuối cùng
nế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 desc
có 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_expression
cũ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ởi
Mụ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ởi
có thể được áp dụng cho kết quả củaUnion
, Intersect
hoặ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 choASC
vàDesc
. Thông thường, các loại dữ liệu sẽ được thiết lập để<
và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.