Postgresql 8.3.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 9. Chức năng và toán tử | Chuyển tiếp nhanh | Tiếp theo |
Phần này mô tả một số cấu trúc chuyên dụng cho thực hiện nhiều kèo bóng đá cúp c2 sánh giữa các nhóm giá trị. Những hình thức này có liên quan về mặt cú pháp với các hình thức truy vấn con của trước đó Phần, nhưng không liên quan đến các nhóm phụ. Các hình thức liên quan đến mảng Các biểu hiện phụ làPostgreSQLPhần mở rộng; phần còn lại làSQL-Compliant. Tất cả các hình thức biểu thức được ghi lại trong phần này trả về Boolean (Đúng/Sai) kết quả.
Biểu thứcin (giá trị[, ...])
Phía bên tay phải là danh sách dấu ngoặc đơn của vô hướng biểu cảm. Kết quả là"True"Nếu Kết quả của biểu thức bên trái bằng bất kỳ Biểu thức tay phải. Đây là một ký hiệu tốc ký cho
Biểu thức=value1hoặcBiểu thức=value2hoặc ...
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 bình đẳng và ít nhất một Biểu thức bên phải mang lại NULL, kết quả củainXây dựng sẽ là NULL, không sai. Đây là trong 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 giá trị null.
Biểu thứckhông trong (giá trị[, ...])
12932_13019"True"Nế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 tay phải. Đây là một ký hiệu tốc ký cho
Biểu thức<Value1vàBiểu thức<value2và ...
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 bình đẳng và ít nhất một Biểu thức bên phải mang lại NULL, kết quả củakhông ởXây dựng sẽ là NULL, không đúng như một có thể ngây thơ mong đợi. Điều này phù hợp với bình thường của SQL Quy tắc cho các kết hợp boolean của các giá trị null.
Tip: x không ở yIS tương đương vớikhông (x in y)Trong tất cả trường hợp. Tuy nhiên, các giá trị null có nhiều khả năng đi lên người mới làm việc vớikhông ởkèo bóng đá cúp c2 với khi làm việc vớiin. Nó tốt nhất Để thể hiện tình trạng của bạn một cách tích cực nếu có thể.
Biểu thức Nhà điều hànhany (14591_14609)Biểu thức Nhà điều hànhMột số (Biểu thức kèo bóng đá cúp c2)
Phía bên phải là biểu thức dấu ngoặc đơn, mà Phải mang lại một giá trị mảng. Biểu thức bên trái là được đánh giá và kèo bóng đá cúp c2 sánh với từng phần tử của mảng bằng cách sử dụng được chotoán tử, phải mang lại kết quả boolean. Kết quả củabất kỳlà"True"Nếu có Kết quả thực sự có được. Kết quả là"Sai"15216_15313
Nếu biểu thức kèo bóng đá cúp c2 mang lại một kèo bóng đá cúp c2 null, kết quả củabất kỳsẽ là NULL. Nếu bên trái Biểu thức mang lại null, kết quả củaAny15518_15749anysẽ là null, không sai (một lần nữa, giả sử a Toán tử kèo bóng đá cúp c2 sánh nghiêm ngặt). Điều này phù hợp với SQL Các quy tắc bình thường 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ỳ.
Biểu thức Nhà điều hànhAll (Biểu thức kèo bóng đá cúp c2)
Phía bên phải là biểu thức dấu ngoặc đơn, mà Phải mang lại một giá trị mảng. Biểu thức bên trái là được đánh giá và kèo bóng đá cúp c2 sánh với từng phần tử của mảng bằng cách sử dụng được choNhà điều hành, mà phải mang lại kết quả boolean. Kết quả củatất cảlà"True"Nếu tất cả kèo bóng đá cúp c2 sánh mang lại đúng (bao gồm cả trường hợp đặc biệt trong đó Mảng có các phần tử bằng không). Kết quả là"Sai"Nếu có bất kỳ kết quả sai nào được tìm thấy.
Nếu biểu thức kèo bóng đá cúp c2 mang lại một kèo bóng đá cúp c2 null, kết quả củatất cảsẽ là null. Nếu bên trái Biểu thức mang lại null, kết quả củatất cảthường là NULL (mặc dù không nghiêm ngặt Nhà điều hành kèo bóng đá cúp c2 sánh có thể mang lại một 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 Kết quả kèo bóng đá cúp c2 sánh sai thu được, kết quả củatất cảsẽ là null, không đúng (một lần nữa, giả sử a Toán tử kèo bóng đá cúp c2 sánh nghiêm ngặt). Điều này phù hợp với SQL Các quy tắc bình thường 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 kèo bóng đá cúp c2, như được mô tả trongPhần 4.2.11. Hai giá trị hàng phải có cùng số lượng Cánh đồng. Mỗi bên được đánh giá và chúng được kèo bóng đá cúp c2 sánh hàng khôn ngoan. kèo bóng đá cúp c2 sánh hàng được cho phép khiNhà điều hànhlà=, <, <, <=, hoặc =hoặc có ngữ nghĩa tương tự như một trong số này. (Để cụ thể, một nhà điều hành có thể là một toán tử kèo bóng đá cúp c2 sánh hàng nếu nó là thành viên của cây b lớp toán tử hoặc là người phủ định của=Thành viên của lớp toán tử B-cây.)
The=và<18766_19064
cho<, <=, và =19219_19538kèo bóng đá cúp c2 (1,2, null) < kèo bóng đá cúp c2 (1,3,0)mang lại sự thật, không phải null, vì cặp thứ ba các yếu tố không được xem xét.
Lưu ý:trướcPostgreSQL8.2, The<, <=, và =Các trường hợp không được xử lý cho mỗi SQL đặc điểm kỹ thuật. Một kèo bóng đá cúp c2 sánh nhưkèo bóng đá cúp c2 (a, b) <row (c, d)đã được triển khai làA <C và B <DTrong khi hành vi đúng là tương đương vớia <c hoặc (a = c và b <d).
Row_Constructorkhác vớiRow_Constructor
Cấu trúc này tương tự như<kèo bóng đá cúp c2 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 xem xét không đồng đều với (khác biệt với) bất kỳ giá trị không null nào và bất kỳ hai null được coi là bằng nhau (không khác biệt). Do đó, kết quả sẽ luôn luôn đúng hoặc sai, không bao giờ vô hiệu.
Row_Constructorkhông khác biệt vớiRow_Constructor
cấu trúc này tương tự như=kèo bóng đá cúp c2 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 (khác biệt từ) bất kỳ giá trị không null nào và bất kỳ hai null nào đều được xem xét bằng nhau (không khác biệt). Do đó, kết quả sẽ luôn luôn là Đúng hay Sai, không bao giờ null.