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

10.5.kèo bóng đá pháp, casevà kèo bóng đá pháp trúc liên quan#

SQLUnionCấu trúc phải khớp với kèo bóng đá pháp 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 kèo bóng đá pháp 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ấtkèo bóng đá pháp hàm, sử dụng thuật toán giống hệt nhau để khớp với kèo bóng đá pháp 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 choUnion, casevà kèo bóng đá pháp trúc liên quan

  1. Nếu tất cả kèo bóng đá pháp đầ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ả kèo bóng đá pháp bước tiếp theo.[12]

  3. Nếu tất cả kèo bóng đá pháp đầ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 kèo bóng đá pháp mục đích của kèo bóng đá pháp quy tắc còn lại.

  4. Nếu kèo bóng đá pháp đầu vào không phải là không có cùng loại, không thành công.

  5. 13750_13879[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 kèo bóng đá pháp đầu vào còn lại.

  6. Chuyển đổi tất cả kèo bóng đá pháp đầ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 kèo bóng đá pháp 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 kèo bóng đá pháp đơn giản

Chọn 1.2 làm kèo bóng đá pháp "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 kèo bóng đá pháp chuyển đổi

15846_15937

Ở đây, kể từ 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 kèo bóng đá phápoReal, Loại kết quả liên kết được giải quyết làReal.


Ví dụ 10.13. Loại độ phân giải trong một kèo bóng đá pháp 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 kèo bóng đá pháp hoạt động theo cặp; nghĩa là, đầu vào này giống như

(chọn Null Union Chọn NULL) kèo bóng đá pháp Chọn 1;

bên trongUnionđược giải quyết dưới dạng loại phátText, theo kèo bóng đá pháp quy tắc được đưa ra ở trên. Sau đó, bên ngoàiUnioncó đầu vào của kèo bóng đá pháp loạiTextSố nguyên, dẫn đến lỗi kèo bóng đá pháp 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 kèo bóng đá phápo 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, kèo bóng đá pháp 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]17882_18020Unionhoặ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ả kèo bóng đá pháp đầ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ênĐầu kèo bóng đá phápo, vớisau đómệnh đề được xem xét sau đó. Trong tất cả kèo bóng đá pháp trường hợp khác,Từ trái sang phảiCó nghĩa là thứ tự trong đó kèo bóng đá pháp biểu thức xuất hiện trong văn bản truy vấn.

Gửi sửa

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 phù hợpMẫu nàyĐể báo cáo vấn đề tài liệu.