PostgreSQL: soi kèo bóng đá | |||
---|---|---|---|
prev | UP | Chương 9. Các chức năng và toán tử | Tiếp theo |
Phần này mô tảSQLPostgreSQL. Tất cả các biểu mẫu biểu kèo bóng đá hôm nay và ngày mai được ghi lại trong phần này trả về kết quả boolean (true/false).
tồn tại (SBURERY)
Đối số củatồn tạilà kèo bóng đá hôm nay và ngày mai tùy ýChọncâu lệnh hoặcSBURERY. SB. Nếu nó trả về ít nhất một kèo bóng đá hôm nay và ngày mai, kết quả củatồn tạilà"True"; Nếu trình duyệt con trả về không có kèo bóng đá hôm nay và ngày mai, kết quả củatồn tạilà"Sai".
11639_11775
Trình điều khiển con thường chỉ được thực thi đủ dài để xác định xem ít nhất một kèo bóng đá hôm nay và ngày mai được trả về, không phải tất cả các cách để hoàn thành. Thật không khôn ngoan khi viết một truy vấn con có tác dụng phụ (chẳng hạn như gọi các chức năng trình tự); Liệu các tác dụng phụ xảy ra có thể không thể đoán trước được hay không.
Vì kết quả chỉ phụ thuộc vào việc bất kỳ kèo bóng đá hôm nay và ngày mai nào được trả về và không phải vào nội dung của các kèo bóng đá hôm nay và ngày mai đó, danh sách đầu ra của trình điều khiển con thường không quan trọng. Một quy ước mã hóa chung là viết tất cảtồn tạiKiểm tra ở dạngtồn tại (chọn 1 trong đó ...). Tuy nhiên, có những trường hợp ngoại lệ cho quy tắc này, chẳng hạn như các nhóm phụ sử dụngIntersect.
Ví dụ đơn giản này giống như tham gia bên trong trêncol2, nhưng nó tạo ra nhiều nhất một kèo bóng đá hôm nay và ngày mai đầu ra cho mỗiTab1kèo bóng đá hôm nay và ngày mai, ngay cả khi có một số phù hợpTAB2kèo bóng đá hôm nay và ngày mai:
Chọn Col1 Từ Tab1 Trong đó tồn tại (chọn 1 từ tab2 trong đó col2 = tab1.col2);
Biểu kèo bóng đá hôm nay và ngày maiin (SBURERY)
Phía bên tay phải là một phần phụ, phải trả về chính xác một cột. Biểu kèo bóng đá hôm nay và ngày mai bên trái được đánh giá và so sánh với từng hàng của kết quả truy vấn con. Kết quả củainlà"True"Nếu tìm thấy bất kỳ kèo bóng đá hôm nay và ngày mai phụ nào được tìm thấy. Kết quả là"Sai"Nếu không tìm thấy kèo bóng đá hôm nay và ngày mai bằng nhau (bao gồm cả trường hợp trình điều khiển con trả về không có kèo bóng đá hôm nay và ngày mai).
13526_13685inXâ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.
như vớitồn tại, không khôn ngoan khi cho rằng trình điều khiển con sẽ được đánh giá hoàn toàn.
Row_Constructorin (Subquery)
Phía bên trái của hình kèo bóng đá hôm nay và ngày mai nàyinlà một hàm tạo kèo bóng đá hôm nay và ngày mai, như được mô tả trongPhần 4.2.13. Phía bên tay phải là một phần phụ được đặt dấu ngoặc đơn, phải trả về chính xác nhiều cột như có các biểu kèo bóng đá hôm nay và ngày mai ở hàng bên trái. Các biểu kèo bóng đá hôm nay và ngày mai bên trái được đánh giá và so sánh hàng khôn ngoan với từng hàng của kết quả truy vấn con. Kết quả củainlà"True"Nếu tìm thấy bất kỳ kèo bóng đá hôm nay và ngày mai con bằng nhau nào được tìm thấy. Kết quả là"Sai"Nếu không tìm thấy kèo bóng đá hôm nay và ngày mai bằng nhau (bao gồm cả trường hợp trình điều khiển con trả về không có kèo bóng đá hôm nay và ngày mai).
Như thường lệ, các giá trị null trong các hàng được kết hợp theo các quy tắc thông thường của các biểu kèo bóng đá hôm nay và ngày mai Boolean SQL. 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; Mặt khác, kết quả của việc so sánh hàng đó là không rõ (NULL). Nếu tất cả các kết quả trên mỗi hàng là không đồng đều hoặc null, với ít nhất một null, thì kết quả củainlà null.
Biểu kèo bóng đá hôm nay và ngày maikhông trong (Subquery)
Phía bên tay phải là một phần phụ, phải trả về chính xác một cột. Biểu kèo bóng đá hôm nay và ngày mai bên trái được đánh giá và so sánh với từng hàng của kết quả truy vấn con. Kết quả củakhông ởlà"true"Nếu chỉ tìm thấy các kèo bóng đá hôm nay và ngày mai con không đồng đều (bao gồm cả trường hợp trình điều khiển con trả về không có kèo bóng đá hôm nay và ngày mai). Kết quả là"Sai"Nếu tìm thấy bất kỳ kèo bóng đá hôm nay và ngày mai nào bằng nhau.
15920_16079không ởXây dựng sẽ là NULL, không đúng. Đ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.
như vớitồn tại, không khôn ngoan khi cho rằng trình điều khiển con sẽ được đánh giá hoàn toàn.
Row_Constructorkhông trong (Subquery)
Phía bên trái của hình kèo bóng đá hôm nay và ngày mai nàykhông ởlà một hàm tạo kèo bóng đá hôm nay và ngày mai, như được mô tả trongPhần 4.2.13. Phía bên tay phải là một phần phụ được đặt dấu ngoặc đơn, phải trả về chính xác nhiều cột như có các biểu kèo bóng đá hôm nay và ngày mai ở hàng bên trái. Các biểu kèo bóng đá hôm nay và ngày mai bên trái được đánh giá và so sánh hàng khôn ngoan với từng hàng của kết quả truy vấn con. Kết quả củakhông ởlà"True"Nếu chỉ tìm thấy các kèo bóng đá hôm nay và ngày mai con không đồng đều (bao gồm cả trường hợp trình điều khiển con trả về không có kèo bóng đá hôm nay và ngày mai). Kết quả là"Sai"Nếu tìm thấy bất kỳ kèo bóng đá hôm nay và ngày mai nào bằng nhau.
Như thường lệ, các giá trị null trong các hàng được kết hợp theo các quy tắc thông thường của các biểu kèo bóng đá hôm nay và ngày mai Boolean SQL. 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; Mặt khác, kết quả của việc so sánh hàng đó là không rõ (NULL). Nếu tất cả các kết quả trên mỗi hàng là không đồng đều hoặc null, với ít nhất một null, thì kết quả củakhông ởlà null.
Biểu kèo bóng đá hôm nay và ngày mai Nhà điều hànhany (Subquery)Biểu kèo bóng đá hôm nay và ngày mai Nhà điều hànhkèo bóng đá hôm nay và ngày mai số (Subquery)
Phía bên tay phải là một phần phụ, phải trả về chính xác một cột. Biểu kèo bóng đá hôm nay và ngày mai bên trái được đánh giá và so sánh với từng hàng của kết quả truy vấn con bằng cách sử dụng đã choNhà điều hành, phải mang lại kết quả boolean. Kết quả củaAnylà"True"Nếu có được kết quả đúng. Kết quả là"Sai"Nếu không tìm thấy kết quả đúng (bao gồm cả trường hợp trình điều khiển con trả về không có kèo bóng đá hôm nay và ngày mai).
kèo bóng đá hôm nay và ngày mai sốlà từ đồng nghĩa vớibất kỳ. inlà tương đương với= bất kỳ.
Lưu ý rằng nếu không có thành công và ít nhất một kèo bóng đá hôm nay và ngày mai bên phải mang lại kết quả của người vận hành, kết quả củaanyXâ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.
như vớitồn tại, không khôn ngoan khi cho rằng trình điều khiển con sẽ được đánh giá hoàn toàn.
Row_Constructor Nhà điều hànhany (Subquery)ROW_Constructor Nhà điều hànhkèo bóng đá hôm nay và ngày mai số (Subquery)
Phía bên trái của hình kèo bóng đá hôm nay và ngày mai nàyAnylà một hàm tạo kèo bóng đá hôm nay và ngày mai, như được mô tả trongPhần 4.2.13. Phía bên tay phải là một phần phụ được đặt dấu ngoặc đơn, phải trả về chính xác nhiều cột như có các biểu kèo bóng đá hôm nay và ngày mai ở hàng bên trái. Các biểu kèo bóng đá hôm nay và ngày mai bên trái được đánh giá và so sánh hàng khôn ngoan với từng hàng của kết quả truy vấn con, sử dụng đã choNhà điều hành. Kết quả củaAnylà"True"Nếu so sánh trả về đúng cho bất kỳ kèo bóng đá hôm nay và ngày mai trình điều khiển con nào. Kết quả là"Sai"Nếu so sánh trả về sai cho mỗi kèo bóng đá hôm nay và ngày mai trình điều khiển con (bao gồm cả trường hợp trình điều khiển con trả về không có kèo bóng đá hôm nay và ngày mai). Kết quả là NULL nếu không có so sánh với một kèo bóng đá hôm nay và ngày mai trình điều khiển nào trả về đúng và ít nhất một so sánh trả về NULL.
xemPhần 9.23.5Để biết chi tiết về ý nghĩa của so sánh hàm tạo kèo bóng đá hôm nay và ngày mai.
Biểu kèo bóng đá hôm nay và ngày mai Nhà điều hànhAll (SBURERY)
Phía bên tay phải là một phần phụ được đặt dấu ngoặc đơn, phải trả về chính xác một cột. Biểu kèo bóng đá hôm nay và ngày mai bên trái được đánh giá và so sánh với từng hàng của kết quả truy vấn con bằng cách sử dụng đã choNhà điều hành, phải mang lại kết quả boolean. Kết quả củatất cảlà"True"Nếu tất cả các kèo bóng đá hôm nay và ngày mai đều có đúng (bao gồm cả trường hợp trình điều khiển con trả về không có kèo bóng đá hôm nay và ngày mai). Kết quả là"Sai"Nếu có bất kỳ kết quả sai nào được tìm thấy. Kết quả là NULL nếu không có so sánh với một kèo bóng đá hôm nay và ngày mai phụ trở lại sai và ít nhất một so sánh trả về NULL.
không ởlà tương đương với< Tất cả.
như vớitồn tại, không khôn ngoan khi cho rằng trình điều khiển con sẽ được đánh giá hoàn toàn.
Row_Constructor Nhà điều hànhAll (Subquery)
Phía bên trái của hình kèo bóng đá hôm nay và ngày mai nàytất cảlà một hàm tạo kèo bóng đá hôm nay và ngày mai, như được mô tả trongPhần 4.2.13. Phía bên tay phải là một phần phụ được đặt dấu ngoặc đơn, phải trả về chính xác nhiều cột như có các biểu kèo bóng đá hôm nay và ngày mai ở hàng bên trái. Các biểu kèo bóng đá hôm nay và ngày mai bên trái được đánh giá và so sánh hàng khôn ngoan với từng hàng của kết quả truy vấn con, sử dụng đã choNhà điều hành. Kết quả củatất cảlà"true"Nếu so sánh trả về true cho tất cả các kèo bóng đá hôm nay và ngày mai phụ (bao gồm cả trường hợp trình điều khiển con trả về không có kèo bóng đá hôm nay và ngày mai). Kết quả là"Sai"Nếu so sánh trả về sai cho bất kỳ kèo bóng đá hôm nay và ngày mai trình điều khiển con nào. Kết quả là NULL nếu không có so sánh với một kèo bóng đá hôm nay và ngày mai phụ trở lại sai và ít nhất một so sánh trả về NULL.
xemPhần 9.23.5Để biết chi tiết về ý nghĩa của so sánh hàm tạo kèo bóng đá hôm nay và ngày mai.
Row_Constructor Nhà điều hành(SBURERY)
Phía bên trái là một hàm tạo kèo bóng đá hôm nay và ngày mai, như được mô tả trongPhần 4.2.13. Phía bên tay phải là một phần phụ được đặt dấu ngoặc đơn, phải trả về chính xác nhiều cột như có các biểu kèo bóng đá hôm nay và ngày mai ở hàng bên trái. Hơn nữa, Sub Truery không thể trả về nhiều hơn một hàng. .
xemPhần 9.23.5Để biết chi tiết về ý nghĩa của so sánh hàm tạo kèo bóng đá hôm nay và ngày mai.