Phần này mô tả một số cấu trúc chuyên dụng để thực hiện nhiều so sánh giữa các nhóm giá trị. Các hình thức này có liên quan về mặt cú pháp đến các hình thức truy vấn con của phần trước, nhưng không liên quan đến các nhóm phụ. Các biểu mẫu liên quan đến biểu hiện phụ mảng làPostgreSQL12637_12665SQL-Compliant. Tất cả các biểu mẫu biểu thức được ghi lại trong phần này trả về kết quả boolean (true/false).
in
#Biểu thức
in (giá trị
[, ...])
Phía bên phải là danh sách các biểu thức. Kết quả làHồiTRUEHồiNếu kết quả biểu thức bên trái bằng với bất kỳ biểu thức bên phải nào. Đây là một ký hiệu tốc ký cho
Biểu thức
=Value1
hoặcexpression
=value2
hoặc ...
13804_13970in
Xây dựng sẽ là NULL, không sai. Điều này phù hợp với các quy tắc bình thường của SQL cho các kết hợp boolean của các giá trị null.
khô사설 토토 ở
#Biểu thức
khô사설 토토 tro사설 토토 (giá trị
[, ...])
Phía bên tay phải là danh sách các biểu thức. Kết quả làMạnhTRUEKhănNếu kết quả biểu thức bên trái là không đồng đều với tất cả các biểu thức bên phải. Đây là một ký hiệu tốc ký cho
Biểu thức
<Value1
vàBiểu thức
<value2
và ...
Lưu ý rằng nếu biểu thức bên trái mang lại NULL hoặc nếu không có giá trị tay phải ngang nhau và ít nhất một biểu thức bên phải mang lại NULL, kết quả củakhô사설 토토 ở
Xây dựng sẽ là NULL, không đúng như người ta có thể mong đợi. Điều này phù hợp với các quy tắc bình thường của SQL cho các kết hợp boolean của các giá trị null.
x khô사설 토토 ở y
là tươ사설 토토 đươ사설 토토 vớikhông (x in y)
Trong mọi trường hợp. Tuy nhiên, các giá trị null có nhiều khả năng vượt qua người mới khi làm việc vớikhô사설 토토 ở
so với khi làm việc vớiin
. Tốt nhất là thể hiện tình trạ사설 토토 của bạn một cách tích cực nếu có thể.
bất kỳ
/Một số
(mả사설 토토)#Biểu thức
Nhà điều hành
any (Biểu thức mảng
)Biểu thức
Nhà điều hành
Một số (Biểu thức mảng
)
Phía bên phải là biểu thức dấu ngoặc đơn, phải mang lại giá trị mảng. Biểu thức bên trái được đánh giá và so sánh với từng phần tử của mảng bằng cách sử dụng đã choNhà điều hành
, phải ma사설 토토 lại kết quả boolean. Kết quả củaany
làtrueKhănNếu có được kết quả đúng. Kết quả làSaiHà사설 토토Nếu khô사설 토토 tìm thấy kết quả đú사설 토토 (bao gồm cả trườ사설 토토 hợp mả사설 토토 có phần tử khô사설 토토).
Nếu biểu thức mả사설 토토 ma사설 토토 lại một mả사설 토토 null, kết quả củabất kỳ
sẽ là NULL. Nếu biểu thức bên trái mang lại NULL, kết quả củabất kỳ
thông thường là không (mặc dù một toán tử so sánh không nghiêm ngặt có thể mang lại kết quả khác). Ngoài ra, nếu mảng bên phải chứa bất kỳ phần tử null nào và không có kết quả so sánh đúng nào, kết quả củaAny
sẽ là null, không sai (một lần nữa, giả sử một toán tử so sánh nghiêm ngặt). Điều này phù hợp với các quy tắc bình thường của SQL cho các kết hợp boolean của các giá trị null.
Một số
là từ đồng nghĩa vớibất kỳ
.
tất cả
(mả사설 토토)#Biểu thức
Nhà điều hành
All (Biểu thức mảng
)
Phía bên phải là biểu thức dấu ngoặc đơn, phải mang lại giá trị mảng. Biểu thức bên trái được đánh giá và so sánh với từng phần tử của mảng bằng cách sử dụng đã choNhà điều hành
, phải ma사설 토토 lại kết quả boolean. Kết quả củatất cả
làTRUENếu tất cả các so sánh đều có đúng (bao gồm cả trường hợp mảng có các phần tử bằng không). Kết quả làSaiNếu có bất kỳ kết quả sai nào được tìm thấy.
Nếu biểu thức mả사설 토토 ma사설 토토 lại một mả사설 토토 null, kết quả củatất cả
sẽ là NULL. Nếu biểu thức bên trái mang lại NULL, kết quả củatất cả
thường là NULL (mặc dù một toán tử so sánh không nghiêm ngặt có thể mang lại kết quả khác). Ngoài ra, nếu mảng bên phải chứa bất kỳ phần tử null nào và không có kết quả so sánh sai, kết quả củatất cả
sẽ là null, không đúng (một lần nữa, giả sử một toán tử so sánh nghiêm ngặt). Điều này phù hợp với các quy tắc bình thường của SQL cho các kết hợp boolean của các giá trị null.
Row_Constructor
Nhà điều hành
Row_Constructor
Mỗi bên là một hàm tạo hàng, như được mô tả trongPhần 4.2.13. Hai bộ xây dự사설 토토 hà사설 토토 phải có cù사설 토토 một số trườ사설 토토. Đã choNhà điều hành
được áp dụ사설 토토 cho từ사설 토토 cặp trườ사설 토토 tươ사설 토토 ứ사설 토토. .=
Thành viên của lớp toán tử B-cây, có nghĩa là so sánh trình xây dựng hàng chỉ có thể khiNhà điều hành
là=
, <
, <
, <=
, hoặc
=
hoặc có ngữ nghĩa tương tự như một trong số này.
The=
và<
Các trường hợp hoạt động hơi khác so với các trường hợp khác. Hai hàng được coi là bằng nhau nếu tất cả các thành viên tương ứng của họ không có null và bằng nhau; Các hàng là không đồng đều nếu bất kỳ thành viên tương ứng nào không phải là null và không đồng đều; nếu không thì kết quả của so sánh hàng không rõ (NULL).
cho<
, <=
, và
=
Các trường hợp, các phần tử hàng được so sánh từ trái sang phải, dừng lại ngay khi tìm thấy một cặp phần tử không bằng nhau hoặc null. Nếu một trong hai cặp phần tử này là NULL, kết quả của việc so sánh hàng vẫn chưa được biết (NULL); Nếu không thì so sánh cặp yếu tố này xác định kết quả. Ví dụ,hàng (1,2, null) <hàng (1,3,0)
ma사설 토토 lại sự thật, khô사설 토토 phải null, vì cặp phần tử thứ ba khô사설 토토 được xem xét.
Row_Constructor
khác vớiRow_Constructor
Cấu trúc này tươ사설 토토 tự như<
So sánh hàng, nhưng nó không mang lại null cho đầu vào null. Thay vào đó, bất kỳ giá trị null nào cũng được coi là không đồng đều với (khác biệt) bất kỳ giá trị không khống nào và bất kỳ hai null nào đều được coi là bằng nhau (không khác biệt). Do đó, kết quả sẽ đúng hoặc sai, không bao giờ vô hiệu.
Row_Constructor
khô사설 토토 khác biệt vớiROW_Constructor
Cấu trúc này tươ사설 토토 tự như=
So sánh hàng, nhưng nó không mang lại null cho đầu vào null. Thay vào đó, bất kỳ giá trị null nào cũng được coi là không đồng đều với (khác biệt) bất kỳ giá trị không khống nào và bất kỳ hai null nào đều được coi là bằng nhau (không khác biệt). Do đó, kết quả sẽ luôn đúng hoặc sai, không bao giờ vô hiệu.
Record
Nhà điều hành
Record
Thông số kỹ thuật SQL yêu cầu so sánh theo hàng để trả về null nếu kết quả phụ thuộc vào việc so sánh hai giá trị null hoặc null và không null.POSTGRESQLĐiều này chỉ khi so sánh kết quả của hai hàm tạo hà사설 토토 (như tro사설 토토Phần 9.25.5) hoặc so sánh một hàm tạo hàng với đầu ra của một truy vấn con (như trongPostgreSQL : 문서 : 17 : 9.24. 하위 사설 토토 사이트 표현). Trong các bối cảnh khác trong đó hai giá trị loại tổng hợp được so sánh, hai giá trị trường null được coi là bằng nhau và null được coi là lớn hơn so với không null. Điều này là cần thiết để có hành vi sắp xếp và lập chỉ mục nhất quán cho các loại tổng hợp.
Mỗi bên được đánh giá và chúng được so sánh hàng khôn ngoan. So sánh loại tổng hợp được cho phép khiNhà điều hành
là=
, <
, <
, <=
, hoặc
=
hoặc có ngữ nghĩa tương tự như một trong số này. .=
Thành viên của lớp toán tử B-cây.) Hành vi mặc định của các toán tử trên giố사설 토토 như đối vớilà [không] khác biệt với
Đối với các hàm tạo hà사설 토토 (xemPhần 9.25.5).
Để hỗ trợ khớp các hà사설 토토 bao gồm các phần tử khô사설 토토 có lớp toán tử B-cây mặc định, các toán tử sau được xác định để so sánh loại tổ사설 토토 hợp:*=
, *<
, *<
, *<=
, *
và* =
. Các toán tử này so sánh biểu diễn nhị phân bên trong của hai hàng. Hai hàng có thể có một biểu diễn nhị phân khác nhau mặc dù so sánh hai hàng với toán tử bình đẳng là đúng. Thứ tự của các hàng theo các toán tử so sánh này là xác định nhưng không có ý nghĩa. Các toán tử này được sử dụng bên trong cho các chế độ xem được vật chất hóa và có thể hữu ích cho các mục đích chuyên dụng khác như sao chép và sao chép cây b (xemPhần 64.1.4.3). Tuy nhiên, chúng không có ý định hữu ích cho việc viết truy vấn.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.