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

10.5.Liên minh, casevà tỷ lệ kèo bóng đá trúc liên quan#

SQLUnionCấu trúc phải khớp với tỷ lệ kèo bóng đá loại có thể không giống nhau để trở thành một tập kết quả duy nhất. Thuật toán độ phân giải được áp dụng riêng cho từng cột đầu ra của truy vấn liên minh.Intersectngoại trừXây dựng giải quyết tỷ lệ kèo bóng đá loại không giống nhau theo cách tương tự nhưUnion. Một số cấu trúc khác, bao gồmcase, mảng, Giá trịvĩ đại nhấtÍt nhấttỷ lệ kèo bóng đá hàm, sử dụng thuật toán giống hệt nhau để khớp với tỷ lệ kèo bóng đá biểu thức thành phần của chúng và chọn kiểu dữ liệu kết quả.

Loại phân giải choLiên minh, casevà tỷ lệ kèo bóng đá trúc liên quan

  1. Nếu tất cả tỷ lệ kèo bóng đá đầu vào cùng loại và nó không phải làkhông xác định, giải quyết theo loại đó.

  2. Nếu có bất kỳ đầu vào nào thuộc loại miền, hãy coi nó là loại cơ sở của miền cho tất cả tỷ lệ kèo bóng đá bước tiếp theo.[12]

  3. Nếu tất cả tỷ lệ kèo bóng đá đầu vào thuộc loạikhông xác định, giải quyết theo loạiText(loại ưa thích của loại chuỗi). Nếu không thì,không xác địnhĐầu vào bị bỏ qua cho tỷ lệ kèo bóng đá mục đích của tỷ lệ kèo bóng đá quy tắc còn lại.

  4. Nếu tỷ lệ kèo bóng đá đầu vào không phải là không biết

  5. 14105_14234[13]Nếu loại ứng cử viên có thể được chuyển đổi hoàn toàn sang loại khác, nhưng không phải là ngược lại, hãy chọn loại khác làm loại ứng cử viên mới. Sau đó tiếp tục xem xét tỷ lệ kèo bóng đá đầu vào còn lại.

  6. Chuyển đổi tất cả tỷ lệ kèo bóng đá đầu vào thành loại ứng cử viên cuối cùng. Thất bại nếu không có chuyển đổi ngầm từ một loại đầu vào đã cho sang loại ứng viên.

Một số ví dụ theo sau.

Ví dụ 10.10. Loại độ phân giải với tỷ lệ kèo bóng đá loại chưa được xác định trong một liên minh

Chọn văn bản 'A' AS "Text" Union Chọn 'B';

Ở đây, theo nghĩa đen không xác định'B'sẽ được giải quyết thành loạiText.


Ví dụ 10.11. Loại độ phân giải trong một liên minh đơn giản

Chọn 1.2 làm liên minh "Số" Chọn 1;

The Literal1.2thuộc loạiSốSố nguyêngiá trị1có thể được đúc ngầmSố, để loại đó được sử dụng.


Ví dụ 10.12. Loại độ phân giải trong một liên minh chuyển đổi

16201_16292

Ở đây, vì loạiRealKhông thể được sử dụng hoàn toàn choSố nguyên, nhưngSố nguyêncó thể được sử dụng hoàn toàn tỷ lệ kèo bóng đáoReal, Loại kết quả kết hợp được giải quyết làReal.


Ví dụ 10.13. Loại độ phân giải trong một liên minh lồng nhau

chọn Null Union Chọn Null Union Chọn 1;

Thất bại này xảy ra vìPostgreSQLxử lý nhiềuUnions như một tổ của tỷ lệ kèo bóng đá hoạt động theo cặp; nghĩa là, đầu vào này giống như

(chọn Null Union Chọn NULL) Liên minh Chọn 1;

bên trongUnionđược giải quyết dưới dạng loại phátText, theo tỷ lệ kèo bóng đá quy tắc được đưa ra ở trên. Sau đó, bên ngoàiUnionCó đầu vào của tỷ lệ kèo bóng đá loạiTextSố nguyên, dẫn đến lỗi quan sát được. Vấn đề có thể được khắc phục bằng cách đảm bảo rằngUnioncó ít nhất một đầu tỷ lệ kèo bóng đáo của loại kết quả mong muốn.

Intersectngoại trừHoạt động được giải quyết theo cặp đôi. Tuy nhiên, tỷ lệ kèo bóng đá trúc khác được mô tả trong phần này xem xét tất cả các đầu vào của chúng trong một bước độ phân giải.




[12]hơi giống như xử lý tỷ lệ kèo bóng đá đầu vào miền cho tỷ lệ kèo bóng đá toán tử và chức năng, hành vi này cho phép một loại miền được bảo tồn thông qua AUnionhoặc cấu trúc tương tự, miễn là người dùng cẩn thận để đảm bảo rằng tất cả tỷ lệ kèo bóng đá đầu vào đều ngầm hoặc rõ ràng về loại chính xác đó. Nếu không thì loại cơ sở của miền sẽ được sử dụng.

[13]Vì lý do lịch sử,casexử lý nókhácmệnh đề (nếu có) làHồiĐầu tiênHàngĐầu tỷ lệ kèo bóng đáo, vớisau đómệnh đề được xem xét sau đó. Trong tất cả tỷ lệ kèo bóng đá trường hợp khác,Từ trái sang phảicó nghĩa là thứ tự trong đó tỷ lệ kèo bóng đá biểu thức xuất hiện trong văn bản truy vấn.