1949-12-23 |53_1949-12-23 |76with_queryJean Luc Godard16_Jean Luc Godard60Jean Luc Godard85_Jean Luc Godard97Tối quan trọng00_Tối quan trọng27Tối quan trọng52_Tối quan trọng64Tối quan trọng67_Tối quan trọng79output_nameMosfilm20_Mosfilm46Mosfilm71_Mosfilm82Mosfilm85_Các nghệ sĩ thống nhất10kèo bóng đá pháp nghệ sĩ thống nhất35_Các nghệ sĩ thống nhất46kèo bóng đá pháp nghệ sĩ thống nhất49_Các nghệ sĩ thống nhất69Nhóm_elementToho15_Toho41Toho66_Toho77Toho80_Toho98window_nameColumbia39_Columbia47Columbia72_Columbia91Columbia94_Về phía tây 1 |65kèo bóng đá pháp20th Century Fox01_20th Century Fox2120th Century Fox46_20th Century Fox5820th Century Fox61_20th Century Fox85Bavaria Atelier10_Bavaria Atelier20Bavaria Atelier23_Bavaria Atelier791Bavaria Atelier4_Walt Disney11Walt Disney14_Walt Disney40Walt Disney65_Walt Disney72Walt Disney75_Warner Bros 3 |26Warner Bros 3 |51_Warner Bros 3 |58Warner Bros 3 |61_Phim Luso50Phim Luso75_Phim Luso87Phim Luso90_11437WHEREfrom_itemcó thể là một trong số:[chỉ]Table_Name[ *] [[As]bí danh[(Cột_alias[, ...])]]]]Sampling_method(Đối số[, ...]) [Lặp lại có thể lặp lại (hạt giống)]]]kèo bóng đá pháp) [As]bí danh[(Cột_alias[, ...])]]12091_12Về phía tây 1 |12Walt Disney_12123bí danh[(Cột_alias[, ...])]]]]function_name([Đối số[, ...]]))bí danh[(Cột_alias[, ...])]]]]function_name([Đối số[, ...]]) [As]bí danh(Cột_Definition[, ...])function_name([Đối số[, ...]]) như (Cột_Definition[, ...])function_name([Đối số[, ...]]) [As (cột_definition[, ...])] [, ...])bí danh[(Cột_alias[, ...])]]from_item[tự nhiên]Join_Type from_item[trêntham gia_condition| Sử dụng (tham gia_column[, ...])]vàGrouping_elementcó thể là một trong số:()Biểu thức(Biểu thức[, ...])Biểu thức| (Biểu thức[, ...]) [, ...])Biểu thức| (Biểu thức[, ...]) [, ...])Grouping_element[, ...])vàwith_queryIS: with_query_name[(Cột_name[, ...])] như (kèo bóng đá pháp | Giá trị | Chèn | Cập nhật | Xóa)Table_Name[ *]
kèo bóng đá phápLấy kèo bóng đá pháp hàng từ 0 hoặc nhiều bảng. Xử lý chung củakèo bóng đá phápnhư sau:
Tất cả kèo bóng đá pháp truy vấn trongvớiDanh sách được tính toán. Chúng phục vụ hiệu quả như kèo bóng đá pháp bảng tạm thời có thể được tham chiếu trongtừDanh sách. MỘTvớiTruy vấn được tham chiếu nhiều lần trongtừchỉ được tính toán một lần. (Nhìn thấyvới mệnh đềbên dưới.)
Tất cả kèo bóng đá pháp yếu tố trongtừDanh sách được tính toán. (Mỗi phần tử trongtừDanh sách là một bảng thực hoặc ảo.) Nếu có nhiều hơn một phần tử được chỉ định trongtừDanh sách, chúng được giao nhau với nhau. (Nhìn thấytừ mệnh đềbên dưới.)
NếuWHEREmệnh đề được chỉ định, tất cả kèo bóng đá pháp hàng không thỏa mãn điều kiện được loại bỏ khỏi đầu ra. (Nhìn thấyĐiều khoản ở đâubên dưới.)
NếuNhóm bởimệnh đề được chỉ định hoặc nếu có kèo bóng đá pháp cuộc gọi chức năng tổng hợp, đầu ra được kết hợp thành kèo bóng đá pháp nhóm hàng khớp với một hoặc nhiều giá trị và kết quả của kèo bóng đá pháp hàm tổng hợp được tính toán. NếucóĐiều khoản có mặt, nó loại bỏ kèo bóng đá pháp nhóm không thỏa mãn điều kiện đã cho. (Nhìn thấyNhóm theo điều khoảnvàcó điều khoảnbên dưới.)
kèo bóng đá pháp hàng đầu ra thực tế được tính toán bằng cách sử dụngkèo bóng đá phápBiểu thức đầu ra cho mỗi nhóm được kèo bóng đá pháp hoặc nhóm hàng. (Nhìn thấykèo bóng đá pháp danh sáchbên dưới.)
kèo bóng đá pháp khác biệtLoại bỏ kèo bóng đá pháp hàng trùng lặp khỏi kết quả.kèo bóng đá pháp khác biệt trênLoại bỏ kèo bóng đá pháp hàng khớp với tất cả kèo bóng đá pháp biểu thức được chỉ định.kèo bóng đá pháp tất cả(mặc định) sẽ trả về tất cả kèo bóng đá pháp hàng ứng cử viên, bao gồm cả kèo bóng đá pháp bản sao. (Nhìn thấymệnh đề khác biệtbên dưới.)
Sử dụng toán tửUnion, Intersectvàngoại trừ, đầu ra của nhiều hơn mộtkèo bóng đá phápCâu lệnh có thể được kết hợp để tạo thành một tập kết quả duy nhất. TheLiên minhtoán tử trả về tất cả kèo bóng đá pháp hàng trong một hoặc cả hai bộ kết quả. TheIntersecttoán tử trả về tất cả kèo bóng đá pháp hàng hoàn toàn trong cả hai bộ kết quả. Thengoại trừtoán tử trả về kèo bóng đá pháp hàng trong tập kết quả đầu tiên nhưng không phải trong thứ hai. Trong cả ba trường hợp, kèo bóng đá pháp hàng trùng lặp được loại bỏ trừ khitất cảđược chỉ định. Từ tiếng ồnkhác biệtcó thể được thêm vào để chỉ định rõ ràng việc loại bỏ kèo bóng đá pháp hàng trùng lặp. Lưu ý rằngkhác biệtlà hành vi mặc định ở đây, mặc dùtất cảlà mặc định chokèo bóng đá phápchính nó. (Nhìn thấymệnh đề Union, mệnh đề giao nhauvà18094_1820th Century Foxbên dưới.)
NếuĐặt kèo bóng đá pháp bởimệnh đề được chỉ định, kèo bóng đá pháp hàng được trả về được sắp xếp theo thứ tự được chỉ định. Nếu nhưĐặt kèo bóng đá pháp bởiKhông được đưa ra, kèo bóng đá pháp hàng được trả lại theo bất kỳ thứ tự nào mà hệ thống tìm thấy nhanh nhất để sản xuất. (Nhìn thấyĐơn kèo bóng đá pháp theo điều khoảnbên dưới.)
Nếugiới hạn(hoặcFetch First) hoặcOffsetmệnh đề được chỉ định,kèo bóng đá phápCâu lệnh chỉ trả về một tập hợp con của kèo bóng đá pháp hàng kết quả. (Nhìn thấyĐiều khoản giới hạnbên dưới.)
nếuđể cập nhật, Không có cập nhật chính, để chia sẻhoặcđể chia sẻ chínhđược chỉ định,kèo bóng đá phápTuyên bố khóa các hàng đã kèo bóng đá pháp đối với các bản cập nhật đồng thời. (Nhìn thấymệnh đề khóabên dưới.)
Bạn phải cókèo bóng đá phápĐặc quyền trên mỗi cột được sử dụng trong Akèo bóng đá pháplệnh. Việc sử dụngKhông có cập nhật chính, để cập nhật, để chia sẻhoặcđể chia sẻ chínhYêu cầuCập nhậtĐặc quyền (cho ít nhất một cột của mỗi bảng được kèo bóng đá pháp).
Thevớimệnh đề cho phép bạn chỉ định một hoặc nhiều truy vấn con có thể được tham chiếu theo tên trong truy vấn chính. kèo bóng đá pháp nhóm con hoạt động hiệu quả như kèo bóng đá pháp bảng hoặc chế độ xem tạm thời trong suốt thời gian của truy vấn chính.kèo bóng đá pháp, 20Tối quan trọng_20Bavaria Atelier, Giá trị, Chèn, CẬP NHẬThoặcXóaTuyên bố. Khi viết câu lệnh biến đổi dữ liệu (Chèn, Cập nhậthoặcXóa) trongvới, thông thường là bao gồm mộtTrở vềmệnh đề. Nó là đầu ra củaTrở về, khôngBảng cơ bản mà câu lệnh sửa đổi, tạo thành bảng tạm thời được đọc bởi truy vấn chính. Nếu nhưTrở vềbị bỏ qua, câu lệnh vẫn được thực thi, nhưng nó không tạo ra đầu ra để nó không thể được tham chiếu dưới dạng bảng bởi truy vấn chính.
Một tên (không có trình độ học vấn) phải được chỉ định cho mỗivới20991_2Warner Bros 3 |2
2Warner Bros 3 |8_2Phim Luso3đệ quyđược chỉ định, nó cho phép Akèo bóng đá phápSub Trình tự tham khảo theo tên. Một truy vấn con như vậy phải có biểu mẫu
Non_Recursive_termLiên minh [Tất cả | RIÊNG BIỆT ]Recursive_term
Trong đó việc tự tham khảo lại phải xuất hiện ở phía bên phải củaUnion. Chỉ được phép một tham chiếu đệ quy được cho phép trên mỗi truy vấn.kèo bóng đá phápTruy vấn trong câu lệnh biến đổi dữ liệu. Nhìn thấyPhần 7.8Ví dụ.
Hiệu ứng khác củaKiểu đệ quylàvớiTruy vấn không cần đặt hàng: Một truy vấn có thể tham khảo một truy vấn khác sau này trong danh sách. (Tuy nhiên, kèo bóng đá pháp tài liệu tham khảo tròn hoặc đệ quy lẫn nhau, không được thực hiện.) Không cóđệ quy, vớiTruy vấn chỉ có thể tham khảo anh chị emvớiTruy vấn sớm hơn trongvớiDanh sách.
Một thuộc tính chính củavớiTruy vấn là chúng chỉ được đánh giá một lần mỗi lần thực hiện truy vấn chính, ngay cả khi truy vấn chính đề cập đến chúng nhiều lần. Cụ thể, kèo bóng đá pháp câu lệnh biến đổi dữ liệu được đảm bảo sẽ được thực thi một lần và chỉ một lần, bất kể truy vấn chính có đọc tất cả hay bất kỳ đầu ra nào của chúng không.
Khi có nhiều truy vấn trongvớimệnh đề,Kiểu đệ quynên chỉ được viết một lần, ngay sau đóvới. Nó áp dụng cho tất cả kèo bóng đá pháp truy vấn trongvớimệnh đề, mặc dù nó không có tác dụng đối với kèo bóng đá pháp truy vấn không sử dụng kèo bóng đá pháp tham chiếu đệ quy hoặc chuyển tiếp.
Truy vấn chính vàvớiTruy vấn đều được thực hiện (đặc biệt là) được thực hiện cùng một lúc. Điều này ngụ ý rằng kèo bóng đá pháp hiệu ứng của câu lệnh biến đổi dữ liệu trongvớiKhông thể nhìn thấy từ kèo bóng đá pháp phần khác của truy vấn, ngoài việc đọc nóTrở vềđầu ra. Nếu hai câu lệnh biến đổi dữ liệu như vậy cố gắng sửa đổi cùng một kèo bóng đá pháp, kết quả không được xác định.
xemPhần 7.8Để biết thêm thông tin.
Thetừmệnh đề Chỉ định một hoặc nhiều bảng nguồn chokèo bóng đá pháp. Nếu nhiều nguồn được chỉ định, kết quả là sản phẩm Cartesian (tham gia chéo) của tất cả kèo bóng đá pháp nguồn.WHERE) để hạn chế kèo bóng đá pháp hàng đã trả lại vào một tập hợp con nhỏ của sản phẩm Cartesian.
Thetừmệnh đề có thể chứa kèo bóng đá pháp yếu tố sau:
Tên (tùy kèo bóng đá pháp Lược đồ theo trình độ) của một bảng hoặc chế độ xem hiện có. Nếu nhưchỉđược chỉ định trước tên bảng, chỉ có bảng đó được quét. Nếu nhưchỉkhông được chỉ định, bảng và tất cả các bảng hậu duệ của nó (nếu có) được quét. Tùy kèo bóng đá pháp,*có thể được chỉ định sau tên bảng để chỉ ra rõ ràng rằng kèo bóng đá pháp bảng hậu duệ được bao gồm.
một tên thay thế chotừMục chứa bí danh. Một bí danh được sử dụng cho sự ngắn gọn hoặc để loại bỏ sự mơ hồ cho tự tham gia (trong đó cùng một bảng được quét nhiều lần).Từ foo as f, phần còn lại của25093_251949-12-23 |phải tham khảo điều nàytừMục dưới dạngfkhôngfoo. Nếu một bí danh được viết, một danh sách bí danh cột cũng có thể được viết để cung cấp tên thay thế cho một hoặc nhiều cột của bảng.
ABảng mẫumệnh đề sau ATable_NameCho biết rằng được chỉ địnhSampling_methodnên được sử dụng để truy xuất một tập hợp con của kèo bóng đá pháp hàng trong bảng đó. Lấy mẫu này đi trước ứng dụng của bất kỳ bộ lọc nào khác nhưWHEREmệnh đề. Tiêu chuẩnPostgreSQLPhân phối bao gồm hai phương thức lấy mẫu,BernoullivàSystemvà kèo bóng đá pháp phương thức lấy mẫu khác có thể được cài đặt trong cơ sở dữ liệu thông qua kèo bóng đá pháp tiện ích mở rộng.
TheBernoullivàSystemPhương pháp lấy mẫu mỗi phương thức chấp nhận mộtĐối sốlà phần của bảng để lấy mẫu, được biểu thị bằng phần trăm từ 0 đến 100. Đối số này có thể là bất kỳ nàoRealbiểu thức giá trị. .BernoulliPhương pháp quét toàn bộ bảng và kèo bóng đá pháp hoặc bỏ qua các hàng riêng lẻ một cách độc lập với xác suất được chỉ định. TheSystemPhương thức lấy mẫu cấp khối với mỗi khối có cơ hội được chỉ định được kèo bóng đá pháp; Tất cả các hàng trong mỗi khối được kèo bóng đá pháp được trả về.System27070_27Phim LusoBernoulliPhương pháp khi tỷ lệ lấy mẫu nhỏ được chỉ định, nhưng nó có thể trả về một mẫu ít ngẫu nhiên của bảng do kết quả của kèo bóng đá pháp hiệu ứng phân cụm.
Tùy kèo bóng đá phápCó thể lặp lạimệnh đề Chỉ định Ahạt giốngSố hoặc biểu thức để sử dụng để tạo số ngẫu nhiên trong phương thức lấy mẫu. Giá trị hạt giống có thể là bất kỳ giá trị dấu phẩy động không null nào.Đối sốCác giá trị sẽ kèo bóng đá pháp cùng một mẫu của bảng, nếu bảng chưa được thay đổi trong khi đó. Nhưng các giá trị hạt khác nhau thường sẽ tạo ra các mẫu khác nhau.Lặp lạikhông được đưa ra sau đó một mẫu ngẫu nhiên mới được kèo bóng đá pháp cho mỗi truy vấn, dựa trên hạt giống do hệ thống tạo ra. Lưu ý rằng một số phương thức lấy mẫu bổ trợ không chấp nhậnLặp lạivà sẽ luôn tạo ra kèo bóng đá pháp mẫu mới trên mỗi lần sử dụng.
A Sub-kèo bóng đá phápcó thể xuất hiện trongtừmệnh đề. Điều này hoạt động như thể đầu ra của nó được tạo như một bảng tạm thời trong suốt thời gian của đơn nàykèo bóng đá phápLệnh. Lưu ý rằng Sub-kèo bóng đá phápphải được bao quanh bởi dấu ngoặc đơn và bí danhphảiđược cung cấp cho nó. MỘTGiá trịLệnh cũng có thể được sử dụng ở đây.
AvớiTruy vấn được tham chiếu bằng cách viết tên của nó, giống như tên của truy vấn là tên bảng. (Trên thực tế,vớiTruy vấn ẩn bất kỳ bảng thực nào cùng tên cho kèo bóng đá pháp mục đích của truy vấn chính. Nếu cần thiết, bạn có thể tham khảo một bảng thực của cùng tên bằng cách sử dụng trình độ sơ đồ của bảng.) Một bí danh có thể được cung cấp theo cách tương tự như đối với bảng.
kèo bóng đá pháp cuộc gọi chức năng có thể xuất hiện trongtừmệnh đề. .kèo bóng đá phápLệnh. Khi tùy kèo bóng đá phápvới Tổ chứcmệnh đề được thêm vào cuộc gọi chức năng, một cột mới được thêm vào sau tất cả kèo bóng đá pháp cột đầu ra của hàm với đánh số cho mỗi hàng.
Một bí danh có thể được cung cấp theo cách tương tự như đối với một bảng. Nếu một bí danh được viết, một danh sách bí danh cột cũng có thể được viết để cung cấp tên thay thế cho một hoặc nhiều thuộc tính của loại trả về tổng hợp của hàm, bao gồm cả cột được thêm vàoQuy tắcNếu có.
Nhiều cuộc gọi chức năng có thể được kết hợp thành mộttừkèo bóng đá pháp từ (...). Đầu ra của một mục như vậy là sự kết hợp của hàng đầu tiên từ mỗi hàm, sau đó hàng thứ hai từ mỗi hàm, v.v. Nếu một số hàm tạo ra ít hàng hơn kèo bóng đá pháp hàm khác, kèo bóng đá pháp giá trị null được thay thế cho dữ liệu bị thiếu, do đó tổng số hàng được trả về luôn giống như đối với hàm tạo ra nhiều hàng.
Nếu hàm đã được xác định là trả vềRecordKiểu dữ liệu, sau đó là bí danh hoặc từ khóaASphải có mặt, theo sau là danh sách định nghĩa cột trong biểu mẫu(Cột_name data_type[, ...]). Danh sách định nghĩa cột phải khớp với số thực và loại cột được trả về bởi hàm.
Khi sử dụng31004_3Jean Luc Godard23Jean Luc Godard5_31175kèo bóng đá pháp từ (...). Danh sách định nghĩa cột có thể được đặt saukèo bóng đá pháp từ (...)Xây dựng chỉ khi chỉ có một chức năng duy nhất và khôngVới quy tắcmệnh đề.
Để sử dụngQuy tắcCùng với danh sách định nghĩa cột, bạn phải sử dụngkèo bóng đá pháp từ (...)Cú pháp và đặt danh sách định nghĩa cột bên trongkèo bóng đá pháp từ (...).
một trong số
[bên trong] Tham gia
trái [bên ngoài] Tham gia
phải [bên ngoài] tham gia
Full [Outer] Tham gia
tham gia chéo
chobên trongvà32Warner Bros 3 |_32119kèo bóng đá pháp loại tham gia, một điều kiện tham gia phải được chỉ định, cụ thể là chính xác một trongtự nhiên, trêntham gia_conditionhoặcSử dụng (tham gia_column[, ...]). Xem bên dưới cho ý nghĩa.tham gia chéo, Không ai trong số kèo bóng đá pháp mệnh đề này có thể xuất hiện.
Atham giamệnh đề kết hợp haitừkèo bóng đá pháp mục, để thuận tiện, chúng tôi sẽ gọi là"Bảng", mặc dù trong thực tế chúng có thể là bất kỳ loại nàotừMục. Sử dụng dấu ngoặc đơn nếu cần thiết để xác định thứ tự làm tổ.Tham giaS Nest từ trái sang phải. Trong mọi trường hợpTham gialiên kết chặt chẽ hơn so với dấu phẩy phân táchtừ-List.
tham gia chéovà33090_33Jean Luc Godard33Các nghệ sĩ thống nhất_33219từ, nhưng bị hạn chế bởi điều kiện tham gia (nếu có).tham gia chéolà tương đương vớiBên trong tham gia (đúng), nghĩa là không có hàng nào được loại bỏ bằng trình độ. kèo bóng đá pháp loại tham gia này chỉ là một sự tiện lợi, vì chúng không làm gì bạn không thể làm với đơn giảntừvàWHERE.
Tham gia bên ngoài bên tráiTrả về tất cả kèo bóng đá pháp hàng trong sản phẩm Cartesian đủ điều kiện (tức là, tất cả kèo bóng đá pháp hàng kết hợp vượt qua điều kiện nối của nó), cộng với một bản sao của mỗi hàng trong bảng bên trái mà không có hàng tay phải vượt qua điều kiện tham gia. Hàng bên trái này được mở rộng đến toàn bộ chiều rộng của bảng được nối bằng cách chèn kèo bóng đá pháp giá trị null cho kèo bóng đá pháp cột bên phải.tham giaĐiều kiện của mệnh đề được xem xét trong khi quyết định kèo bóng đá pháp hàng nào có trận đấu. Điều kiện bên ngoài được áp dụng sau đó.
Ngược lại,tham gia bên ngoài bên phảiTrả về tất cả kèo bóng đá pháp hàng được nối, cộng với một hàng cho mỗi hàng bên phải chưa từng có (được mở rộng với null ở bên trái). Đây chỉ là một sự tiện lợi đáng chú ý, vì bạn có thể chuyển đổi nó thànhTham gia bên ngoài bên tráiBằng cách chuyển đổi bảng trái và phải.
Tham gia bên ngoài đầy đủ34544_34739
tham gia_conditionlà một biểu thức dẫn đến giá trị của loạiBoolean(Tương tự nhưWHEREmệnh đề) chỉ định kèo bóng đá pháp hàng nào trong một lần nối được coi là khớp.
Một mệnh đề của biểu mẫuSử dụng (a, b, ...)là tốc ký cho35294_35364. Cũng,Sử dụngngụ ý rằng chỉ có một trong mỗi cặp cột tương đương sẽ được đưa vào đầu ra tham gia, không phải cả hai.
tự nhiênlà tốc ký cho aSử dụngDanh sách đề cập đến tất cả kèo bóng đá pháp cột trong hai bảng có tên phù hợp. Nếu không có tên cột chung,tự nhiêntương đương vớitrên True.
ThebênTừ khóa có thể đi trước Sub-kèo bóng đá pháp từMục. Điều này cho phép phụ-kèo bóng đá phápđể tham khảo kèo bóng đá pháp cột củatừkèo bóng đá pháp mục xuất hiện trước nó trongtừDanh sách. (Không cóbên, mỗi phụ-kèo bóng đá phápđược đánh giá độc lập và do đó không thể tham chiếu chéo bất kỳ sự tham khảo nào kháctừMục.)
bêncũng có thể đi trước một chức năng gọitừMục, nhưng trong trường hợp này là một từ nhiễu, bởi vì biểu thức chức năng có thể tham khảo trước đótừkèo bóng đá pháp mục trong mọi trường hợp.
AbênMục có thể xuất hiện ở cấp cao nhất trongtừDanh sách hoặc trong ATham giacây. Trong trường hợp sau, nó cũng có thể đề cập đến bất kỳ mục nào ở phía bên trái củaTham giarằng nó ở phía bên phải của.
Khi AtừMục chứabênTham chiếu chéo, tiến hành đánh giá như sau: Đối với mỗi kèo bóng đá pháp củatừMục cung cấp (kèo bóng đá pháp) cột tham chiếu chéo hoặc tập hợp kèo bóng đá pháp hàng của nhiều hàngtừkèo bóng đá pháp mục cung cấp kèo bóng đá pháp cột,bênMục được đánh giá bằng cách sử dụng kèo bóng đá pháp giá trị của hàng hoặc hàng của kèo bóng đá pháp cột. kèo bóng đá pháp hàng kết quả được nối như thường lệ với kèo bóng đá pháp hàng mà chúng được tính toán.
(kèo bóng đá pháp) bảng nguồn phải làbên tronghoặctráiĐã tham gia vàobênMục khác, sẽ không có một tập hợp kèo bóng đá pháp hàng được xác định rõ ràng để tính toán từng bộ hàng chobênMục. Do đó, mặc dù một cấu trúc nhưxphải tham gia bênYcó hiệu lực về mặt cú pháp, nó không thực sự được phépY38088_38Mosfilmx.
Tùy kèo bóng đá phápWHEREmệnh đề có dạng chung
WHEREđiều kiện
WHEREđiều kiệnlà bất kỳ biểu thức nào đánh giá theo kết quả của loạiBoolean. Bất kỳ kèo bóng đá pháp nào không thỏa mãn điều kiện này sẽ được loại bỏ khỏi đầu ra.
Tùy kèo bóng đá phápNhóm bởimệnh đề có dạng chung
Nhóm bởiNhóm_element[, ...]
39094_39Mosfilm39Columbia_39219Biểu thứcĐược sử dụng bên trong AGrouping_elementCó thể là tên cột đầu vào hoặc tên hoặc số thứ tự của cột đầu ra (kèo bóng đá phápLiệt kê mục) hoặc một biểu thức tùy ý được hình thành từ kèo bóng đá pháp giá trị cột đầu vào. Trong trường hợp mơ hồ, ANhóm bởiTên sẽ được hiểu là tên cột đầu vào thay vì tên cột đầu ra.
Nếu cóBộ nhóm, Rolluphoặckhốicó mặt dưới dạng kèo bóng đá pháp yếu tố nhóm, sau đó làNhóm bởimệnh đề theo toàn bộ định nghĩa một số số lượng độc lậpTập hợp nhóm. Hiệu quả của điều này tương đương với việc xây dựng ALiên minh tất cảGiữa kèo bóng đá pháp nhóm phụ với kèo bóng đá pháp bộ nhóm riêng lẻ là của họNhóm bởimệnh đề. Để biết thêm chi tiết về việc xử lý kèo bóng đá pháp bộ nhóm, xemPhần 7.2.4.
kèo bóng đá pháp hàm tổng hợp, nếu có được sử dụng, được tính toán trên tất cả kèo bóng đá pháp hàng tạo thành mỗi nhóm, tạo ra một giá trị riêng cho mỗi nhóm. (Nếu có kèo bóng đá pháp chức năng tổng hợp nhưng khôngNhóm bởimệnh đề, truy vấn được coi là có một nhóm duy nhất bao gồm tất cả các hàng đã kèo bóng đá pháp.) Tập hợp các hàng được cung cấp cho mỗi hàm tổng hợp có thể được lọc thêm bằng cách gắn mộtFiltermệnh đề cho cuộc gọi chức năng tổng hợp; nhìn thấyPhần 4.2.7Để biết thêm thông tin. Khi Abộ lọcMệnh đề có mặt, chỉ những kèo bóng đá pháp phù hợp với nó được bao gồm trong đầu vào của hàm tổng hợp đó.
KhiNhóm bởi41949-12-23 |6_420th Century Fox541Phim Luso_4Warner Bros 3 |14Warner Bros 3 |4_41523
Hãy nhớ rằng tất cả kèo bóng đá pháp hàm tổng hợp được đánh giá trước khi đánh giá bất kỳ nào"vô hướng"Biểu thức trongcómệnh đề hoặckèo bóng đá phápDanh sách. Điều này có nghĩa là, ví dụ, mộtcaseBiểu thức không thể được sử dụng để bỏ qua đánh giá hàm tổng hợp; nhìn thấyPhần 4.2.14.
Hiện tại,Không có cập nhật khóa, để cập nhật, để chia sẻvà42Về phía tây 1 |_42123Không thể được chỉ định vớiNhóm bởi.
Tùy kèo bóng đá phápcómệnh đề có dạng chung
cóđiều kiện
WHEREđiều kiệngiống như được chỉ định choWHEREmệnh đề.
cóLoại bỏ kèo bóng đá pháp hàng nhóm không thỏa mãn điều kiện.cóWHERE: WHERELọc kèo bóng đá pháp hàng riêng lẻ trước khi áp dụngNhóm bởi, trong khicóBộ lọc kèo bóng đá pháp hàng nhóm được tạo bởiNhóm bởi. Mỗi cột được tham chiếu trongđiều kiệnphải tham chiếu rõ ràng một cột nhóm, trừ khi tham chiếu xuất hiện trong hàm tổng hợp hoặc cột không được phân nhóm phụ thuộc vào chức năng vào kèo bóng đá pháp cột nhóm.
Sự hiện diện củacóBiến truy vấn thành truy vấn được nhóm ngay cả khi không cóNhóm bởimệnh đề. Điều này giống như những gì xảy ra khi truy vấn chứa kèo bóng đá pháp hàm tổng hợp nhưng khôngNhóm bởimệnh đề. Tất cả các hàng đã kèo bóng đá pháp được coi là tạo thành một nhóm duy nhất vàkèo bóng đá phápDanh sách vàcómệnh đề chỉ có thể có thể tham chiếu kèo bóng đá pháp cột bảng từ bên trong kèo bóng đá pháp hàm tổng hợp. Một truy vấn như vậy sẽ phát ra một hàng nếucóĐiều kiện là đúng, không có kèo bóng đá pháp nếu nó không đúng.
Hiện tại,Không có cập nhật khóa, để cập nhật, để chia sẻvàđể chia sẻ chínhKhông thể được chỉ định vớicó.
Tùy kèo bóng đá phápWindowmệnh đề có dạng chung
Windowwindow_nameAs (window_definition) [, ...]
WHEREwindow_namelà một tên có thể được tham chiếu từOverkèo bóng đá pháp điều khoản hoặc định nghĩa cửa sổ tiếp theo vàwindow_definitionlà
[hiện tại_window_name]Biểu thức[, ...]]Biểu thức[ASC | Desc |Nhà điều hành] [NULLS Đầu tiên | CUỐI CÙNG ] [, ...] ]frame_clause]
Nếu mộthiện tại_window_nameđược chỉ định, nó phải tham khảo một mục trước đó trongWindowDanh sách; Cửa sổ mới sao chép mệnh đề phân vùng của nó từ mục nhập đó, cũng như mệnh đề đặt kèo bóng đá pháp của nó nếu có.Phân vùng bởimệnh đề và nó có thể chỉ địnhĐặt kèo bóng đá pháp bởiChỉ khi cửa sổ sao chép không có. Cửa sổ mới luôn sử dụng mệnh đề khung riêng của nó;
kèo bóng đá pháp yếu tố củaPhân vùng bởiDanh sách được giải thích theo thời gian giống như kèo bóng đá pháp yếu tố của ANhóm theo điều khoản, ngoại trừ chúng luôn là những biểu thức đơn giản và không bao giờ là tên hoặc số của cột đầu ra. Một điểm khác biệt khác là kèo bóng đá pháp biểu thức này có thể chứa kèo bóng đá pháp cuộc gọi chức năng tổng hợp, không được phép trong một thông thườngNhóm bởi46012_461949-12-23 |
Tương tự, kèo bóng đá pháp phần tử củaĐặt kèo bóng đá pháp bởiDanh sách được giải thích theo thời gian giống như kèo bóng đá pháp yếu tố của mộtĐơn kèo bóng đá pháp theo điều khoản, ngoại trừ kèo bóng đá pháp biểu thức luôn được lấy làm biểu thức đơn giản và không bao giờ là tên hoặc số của cột đầu ra.
Tùy kèo bóng đá phápframe_clauseXác địnhkhung cửa sổĐối với kèo bóng đá pháp hàm cửa sổ phụ thuộc vào khung (không phải tất cả làm). Khung cửa sổ là một tập hợp kèo bóng đá pháp hàng liên quan cho mỗi hàng của truy vấn (được gọi làkèo bóng đá pháp hiện tại). Theframe_clausecó thể là một trong
phạm vi | kèo bóng đá phápframe_startphạm vi | kèo bóng đá pháp giữaframe_startvàframe_end
WHEREframe_startvàframe_end47086_47Jean Luc Godard
không bị ràng buộc trướcgiá trịTrướcgiá trịsau đây
nếuframe_endbị bỏ qua nó mặc định làkèo bóng đá pháp hiện tại. Hạn chế làframe_startkhông thểKhông giới hạn sau, frame_endkhông thểkhông bị ràng buộc trướcvàframe_endLựa kèo bóng đá pháp không thể xuất hiện sớm hơn trong danh sách trên so vớiframe_startLựa kèo bóng đá pháp - ví dụPhạm vi giữa kèo bóng đá pháp hiện tại vàgiá trịtrướckhông được phép.
Tùy kèo bóng đá pháp đóng khung mặc định làPhạm vi không bị ràng buộc trước, giống nhưPhạm vi giữa không giới hạn trước và kèo bóng đá pháp hiện tại; Nó đặt khung thành tất cả kèo bóng đá pháp hàng từ phân vùng khởi động thông qua hàng đầu của hàng hiện tại (một hàng màĐặt kèo bóng đá pháp bởixem xét tương đương với hàng hiện tại hoặc tất cả kèo bóng đá pháp hàng nếu không cóĐặt kèo bóng đá pháp bởi). Nói chung,không bị ràng buộc trướccó nghĩa là khung bắt đầu với kèo bóng đá pháp đầu tiên của phân vùng và tương tựKhông giới hạn sauCó nghĩa là khung kết thúc bằng kèo bóng đá pháp cuối cùng của phân vùng (bất kểphạm vihoặckèo bóng đá phápchế độ). TRONGkèo bóng đá phápMode,kèo bóng đá pháp hiện tạicó nghĩa là khung bắt đầu hoặc kết thúc bằng kèo bóng đá pháp hiện tại; Nhưng trongphạm viChế độ có nghĩa là khung bắt đầu hoặc kết thúc bằng kèo bóng đá pháp đầu tiên hoặc cuối cùng của kèo bóng đá pháp hiện tại trongĐặt kèo bóng đá pháp bởiĐặt kèo bóng đá pháp. Thegiá trị trướcvàgiá trị 49Warner Bros 3 |_49123kèo bóng đá pháp trường hợp hiện chỉ được phép trongkèo bóng đá phápchế độ. Họ chỉ ra rằng khung bắt đầu hoặc kết thúc bằng kèo bóng đá pháp mà nhiều kèo bóng đá pháp trước hoặc sau kèo bóng đá pháp hiện tại.giá trịphải là biểu thức số nguyên không chứa bất kỳ biến nào, hàm tổng hợp hoặc hàm cửa sổ. Giá trị không được null hoặc âm;
Hãy cẩn thận vớikèo bóng đá phápTùy kèo bóng đá pháp có thể tạo ra kết quả không thể đoán trước nếuĐặt kèo bóng đá pháp bởiĐặt hàng không đặt hàng kèo bóng đá pháp hàng một cách độc đáo. Thephạm viTùy kèo bóng đá pháp được thiết kế để đảm bảo rằng các hàng là đồng nghiệp trongĐặt kèo bóng đá pháp bởiĐặt hàng được đối xử giống nhau; Tất cả kèo bóng đá pháp hàng ngang hàng sẽ ở trong cùng một khung.
Mục đích của AWindowmệnh đề là để chỉ định hành vi củaHàm cửa sổxuất hiện trong truy vấnkèo bóng đá pháp danh sáchhoặcĐơn kèo bóng đá pháp theo điều khoản. kèo bóng đá pháp chức năng này có thể tham chiếuWindowĐo loại mục theo tên trong của họOvermệnh đề. MỘTWindowTuy nhiên, mục nhập mệnh đề không phải được tham chiếu ở bất cứ đâu; Nếu nó không được sử dụng trong truy vấn, nó chỉ đơn giản là bỏ qua.Windowmệnh đề, vì cuộc gọi chức năng cửa sổ có thể chỉ định định nghĩa cửa sổ của nó trực tiếp trong của nóOvermệnh đề. Tuy nhiên,Window50770_50869
Hiện tại,Không có cập nhật khóa, để cập nhật, để chia sẻvà5Jean Luc Godard6_5Mosfilm15Mosfilm4_5Columbia2520th Century Fox0_520th Century Fox8.
51Bavaria Atelier_51156Phần 3.5, Phần 4.2.8vàPhần 7.2.5.
Thekèo bóng đá phápDanh sách (giữa kèo bóng đá pháp từ khóakèo bóng đá phápvàtừ) Chỉ định kèo bóng đá pháp biểu thức tạo thành kèo bóng đá pháp hàng đầu ra củakèo bóng đá phápCâu lệnh. kèo bóng đá pháp biểu thức có thể (và thường làm) đề cập đến kèo bóng đá pháp cột được tính toán trongtừmệnh đề.
Giống như trong bảng, mọi cột đầu ra của Akèo bóng đá phápcó tên. Trong một đơn giảnkèo bóng đá phápTên này chỉ được sử dụng để dán nhãn cột để hiển thị, nhưng khikèo bóng đá pháplà một trình điều khiển phụ của một truy vấn lớn hơn, tên được xem bởi truy vấn lớn hơn là tên cột của bảng ảo được tạo bởi trình điều khiển phụ. Để chỉ định tên để sử dụng cho cột đầu ra, hãy viếtAS output_namesau biểu thức của cột. (Bạn có thể bỏ quaAS, nhưng chỉ khi tên đầu ra mong muốn không khớp với bất kỳPostgreSQLTừ khóa (xemPhụ lục C). Để bảo vệ chống lại việc bổ sung từ khóa trong tương lai có thể, bạn nên luôn viếtAShoặc trích dẫn kép tên đầu ra.) Nếu bạn không chỉ định tên cột, tên được kèo bóng đá pháp tự động bởiPostgreSQL. Nếu biểu thức của cột là một tham chiếu cột đơn giản thì tên được kèo bóng đá pháp giống như tên của cột đó.53Jean Luc Godard_53Warner Bros 3 |.
Tên của cột đầu ra có thể được sử dụng để tham khảo giá trị của cột trongĐặt kèo bóng đá pháp bởivàNhóm bởimệnh đề, nhưng không có trongWHEREhoặccómệnh đề; thay vào đó bạn phải viết ra biểu thức.
Thay vì biểu thức,*có thể được viết trong danh sách đầu ra dưới dạng tốc ký cho tất cả các cột của các hàng đã kèo bóng đá pháp. Ngoài ra, bạn có thể viếtTable_Name.*như một tốc ký cho kèo bóng đá pháp cột đến từ bảng đó. Trong những trường hợp này, không thể chỉ định tên mới vớiAS; Tên cột đầu ra sẽ giống như tên của cột.
Theo tiêu chuẩn SQL, kèo bóng đá pháp biểu thức trong danh sách đầu ra phải được tính toán trước khi áp dụngkhác biệt, Đặt kèo bóng đá pháp bởihoặcGiới hạn. Điều này rõ ràng là cần thiết khi sử dụngkhác biệt, vì nếu không thì không rõ giá trị nào đang được thực hiện khác biệt. Tuy nhiên, trong nhiều trường hợp, thuận tiện nếu kèo bóng đá pháp biểu thức đầu ra được tính toán sauĐặt kèo bóng đá pháp bởivàGiới hạn; Đặc biệt nếu danh sách đầu ra chứa bất kỳ chức năng dễ bay hơi hoặc đắt tiền nào.PostgreSQLsẽ đánh giá hiệu quả kèo bóng đá pháp biểu thức đầu ra sau khi sắp xếp và giới hạn, miễn là kèo bóng đá pháp biểu thức đó không được tham chiếu trongkhác biệt, Đặt kèo bóng đá pháp bởi54855_54861Nhóm bởi. (Như một ví dụ,kèo bóng đá pháp f (x) từ thứ tự tab bằng 1rõ ràng phải đánh giáf (x)
55029_55174giới hạnsẽ hành động để cắt đầu ra khỏi chức năng hoàn trả.
Lưu ý: PostgreSQLPhiên bản trước 9.6 không cung cấp bất kỳ đảm bảo nào về thời gian đánh giá các biểu thức đầu ra so với việc sắp xếp và giới hạn; nó phụ thuộc vào hình thức của gói truy vấn đã kèo bóng đá pháp.
nếukèo bóng đá pháp khác biệtđược chỉ định, tất cả kèo bóng đá pháp hàng trùng lặp được xóa khỏi tập kết quả (một hàng được giữ từ mỗi nhóm sao chép).kèo bóng đá pháp tất cảChỉ định ngược lại: Tất cả kèo bóng đá pháp hàng được giữ; đó là mặc định.
kèo bóng đá pháp khác biệt trên (Biểu thức[, ...])Chỉ giữ hàng đầu tiên của mỗi bộ hàng trong đó kèo bóng đá pháp biểu thức đã cho đánh giá bằng nhau. Thekhác biệt trênBiểu thức được giải thích bằng cách sử dụng kèo bóng đá pháp quy tắc tương tự như đối vớiĐặt kèo bóng đá pháp bởi(xem ở trên). Lưu ý rằng"kèo bóng đá pháp đầu tiên"của mỗi bộ là không thể đoán trước trừ khiĐặt kèo bóng đá pháp bởiđược sử dụng để đảm bảo rằng kèo bóng đá pháp mong muốn xuất hiện đầu tiên. Ví dụ:
kèo bóng đá pháp Bỉ trên (Vị trí) Vị trí, Thời gian, Báo cáo
Lấy báo cáo thời tiết gần đây nhất cho mỗi địa điểm. Nhưng nếu chúng ta đã không sử dụngĐặt kèo bóng đá pháp bởiĐể buộc kèo bóng đá pháp giá trị thời gian giảm dần cho mỗi vị trí, chúng tôi đã nhận được một báo cáo từ một thời điểm không thể đoán trước cho mỗi địa điểm.
Thekhác biệt trênBiểu thức phải khớp với ngoài cùng bên tráiĐặt kèo bóng đá pháp bởiBiểu thức. TheĐặt kèo bóng đá pháp bởimệnh đề thường sẽ chứa (kèo bóng đá pháp) biểu thức bổ sung để xác định ưu tiên mong muốn của kèo bóng đá pháp hàng trong mỗikhác biệt trênNhóm.
Hiện tại,Không có cập nhật khóa, để cập nhật, để chia sẻvàđể chia sẻ chínhKhông thể được chỉ định vớikhác biệt.
TheUnionmệnh đề có hình thức chung này:
select_statementLiên minh [Tất cả | RIÊNG BIỆT ]select_statement
select_statementlà bất kỳkèo bóng đá phápcâu không cóĐặt kèo bóng đá pháp bởi, Giới hạn, Không có cập nhật khóa, để cập nhật, 58091_58Jean Luc Godard58Các nghệ sĩ thống nhất_58Warner Bros 3 |để chia sẻ chínhmệnh đề. (Đặt kèo bóng đá pháp bởivàgiới hạncó thể được gắn vào biểu hiện phụ nếu nó được đặt trong ngoặc đơn. Không có dấu ngoặc đơn, kèo bóng đá pháp điều khoản này sẽ được thực hiện để áp dụng cho kết quả củaUnion, không phải biểu thức đầu vào bên phải của nó.)
TheUnionNhà điều hành tính toán liên kết đặt của kèo bóng đá pháp hàng được trả về bởi liên quankèo bóng đá phápCâu lệnh. Một hàng nằm trong liên kết của hai bộ kết quả nếu nó xuất hiện trong ít nhất một trong kèo bóng đá pháp bộ kết quả.kèo bóng đá phápkèo bóng đá pháp câu lệnh đại diện cho kèo bóng đá pháp toán hạng trực tiếp củaUnionphải tạo ra cùng một số cột và kèo bóng đá pháp cột tương ứng phải có kèo bóng đá pháp loại dữ liệu tương thích.
Kết quả củaUnionkhông chứa bất kỳ kèo bóng đá pháp trùng lặp nào trừ khitất cảTùy kèo bóng đá pháp được chỉ định.tất cảNgăn chặn việc loại bỏ kèo bóng đá pháp bản sao. (Vì thế,Liên minh tất cảthường nhanh hơn đáng kể so vớiUnion; sử dụngtất cảKhi bạn có thể.)khác biệtcó thể được viết để chỉ định rõ ràng hành vi mặc định của việc loại bỏ kèo bóng đá pháp hàng trùng lặp.
nhiềuUnionkèo bóng đá pháp toán tử trong cùngkèo bóng đá phápCâu lệnh được đánh giá từ trái sang phải, trừ khi có dấu ngoặc đơn khác.
Hiện tại,Không có cập nhật khóa, để cập nhật, để chia sẻvàđể chia sẻ chínhKhông thể được chỉ định cho mộtUnionKết quả hoặc cho bất kỳ đầu vào nào của AUnion.
Thegiao nhaumệnh đề có hình thức chung này:
select_statementGiao lộ [tất cả | RIÊNG BIỆT ]select_statement
select_statementlà bất kỳkèo bóng đá phápcâu không cóĐặt kèo bóng đá pháp bởi, Giới hạn, Không có cập nhật khóa, để cập nhật, để chia sẻhoặcđể chia sẻ chínhmệnh đề.
TheIntersectToán tử tính toán giao điểm đặt của kèo bóng đá pháp hàng được trả về bởi liên quankèo bóng đá phápCâu lệnh. Một kèo bóng đá pháp nằm trong giao điểm của hai bộ kết quả nếu nó xuất hiện trong cả hai bộ kết quả.
Kết quả củagiao nhaukhông chứa bất kỳ kèo bóng đá pháp trùng lặp nào trừ khitất cả60999_6Jean Luc Godard86Mosfilm6_6Các nghệ sĩ thống nhất16Các nghệ sĩ thống nhất4_6Columbia3620th Century Fox8_6Bavaria Atelier16Bavaria Atelier4_61140ntrùng lặp trong bảng bên phải sẽ xuất hiện tối thiểu (M,n) lần trong tập kết quả.khác biệtcó thể được viết để chỉ định rõ ràng hành vi mặc định của việc loại bỏ kèo bóng đá pháp hàng trùng lặp.
nhiềuIntersectkèo bóng đá pháp toán tử trong cùngkèo bóng đá phápCâu lệnh được đánh giá từ trái sang phải, trừ khi dấu ngoặc đơn khác.IntersectLiên kết chặt chẽ hơnUnion. Đó là,A Union B giao nhau Csẽ được đọc làA Liên minh (B giao nhau C).
Hiện tại,Không có cập nhật khóa, để cập nhật, để chia sẻvàđể chia sẻ chínhKhông thể được chỉ định cho mộtIntersect62075_62Về phía tây 1 |Intersect.
Thengoại trừmệnh đề có hình thức chung này:
select_statementNgoại trừ [tất cả | RIÊNG BIỆT ]select_statement
select_statementlà bất kỳkèo bóng đá phápcâu không cóĐặt kèo bóng đá pháp bởi, giới hạn, Không có cập nhật khóa, để cập nhật, để chia sẻhoặcđể chia sẻ chínhmệnh đề.
Thengoại trừToán tử tính toán tập hợp kèo bóng đá pháp hàng nằm trong kết quả của bên tráikèo bóng đá phápcâu lệnh nhưng không phải là kết quả của cái phải.
Kết quả củangoại trừKhông chứa bất kỳ kèo bóng đá pháp trùng lặp nào trừ khitất cảTùy kèo bóng đá pháp được chỉ định. Vớitất cả, một kèo bóng đá pháp cóMtrùng lặp ở bảng bên trái vàntrùng lặp trong bảng bên phải sẽ xuất hiện tối đa (M-n, 0) lần trong tập kết quả.khác biệtCó thể được viết để chỉ định rõ ràng hành vi mặc định của việc loại bỏ kèo bóng đá pháp hàng trùng lặp.
nhiềungoại trừkèo bóng đá pháp toán tử trong cùngkèo bóng đá phápCâu lệnh được đánh giá từ trái sang phải, trừ khi dấu ngoặc đơn khác.ngoại trừliên kết ở cùng cấp độ vớiUnion.
Hiện tại,Không có cập nhật khóa, để cập nhật, để chia sẻvàđể chia sẻ chínhKhông thể được chỉ định cho một64097_64Các nghệ sĩ thống nhất64Về phía tây 1 |_64141ngoại trừ.
Tùy kèo bóng đá phápĐặt kèo bóng đá pháp bởimệnh đề có hình thức chung này:
Đặt kèo bóng đá pháp bởiBiểu thức[ASC | Desc |Nhà điều hành] [NULLS Đầu tiên | CUỐI CÙNG ] [, ...]
TheĐặt kèo bóng đá pháp bởimệnh đề gây ra kèo bóng đá pháp hàng kết quả được sắp xếp theo (kèo bóng đá pháp) biểu thức được chỉ định. Nếu hai hàng bằng nhau theo biểu thức ngoài cùng bên trái, chúng được so sánh theo biểu thức tiếp theo, v.v.
mỗiBiểu thứccó thể là tên hoặc số thứ tự của cột đầu ra (kèo bóng đá phápmục danh sách) hoặc nó có thể là một biểu thức tùy ý được hình thành từ kèo bóng đá pháp giá trị cột đầu vào.
Số thứ tự đề cập đến vị trí thứ tự (từ trái sang phải) của cột đầu ra. Tính năng này cho phép xác định một đơn đặt kèo bóng đá pháp trên cơ sở một cột không có tên duy nhất.ASmệnh đề.
cũng có thể sử dụng kèo bóng đá pháp biểu thức tùy ý trongĐặt kèo bóng đá pháp bởimệnh đề, bao gồm kèo bóng đá pháp cột không xuất hiện trongkèo bóng đá phápDanh sách đầu ra. Do đó, câu lệnh sau là hợp lệ:
kèo bóng đá pháp tên từ đơn đặt hàng của nhà phân phối theo mã;
Giới hạn của tính năng này làĐặt kèo bóng đá pháp bởimệnh đề áp dụng cho kết quả của mộtUnion, Intersecthoặcngoại trừ66033_66Walt Disney
Nếu mộtĐặt kèo bóng đá pháp bởiBiểu thức là một tên đơn giản phù hợp với cả tên cột đầu ra và tên cột đầu vào,Đặt kèo bóng đá pháp bởisẽ giải thích nó là tên cột đầu ra. Điều này trái ngược với sự lựa kèo bóng đá phápNhóm bởisẽ làm trong tình huống tương tự. Sự không nhất quán này được thực hiện để tương thích với tiêu chuẩn SQL.
Tùy kèo bóng đá pháp người ta có thể thêm từ khóaASC(tăng dần) hoặcDesc(giảm dần) sau bất kỳ biểu thức nào trongĐặt kèo bóng đá pháp bởimệnh đề. Nếu không được chỉ định,ASCđược giả định theo mặc định. Ngoài ra, một tên toán tử đặt kèo bóng đá pháp cụ thể có thể được chỉ định trongSử dụngmệnh đề. Một nhà điều hành đặt kèo bóng đá pháp phải là một thành viên ít hơn hoặc lớn hơn của một số nhà điều hành B-cây.ASCthường tương đương vớiSử dụng <và67096_67Jean Luc Godard67Các nghệ sĩ thống nhất_67133Sử dụng. .
nếuNULLS LASTđược chỉ định, kèo bóng đá pháp giá trị null sắp xếp sau tất cả kèo bóng đá pháp giá trị không null; nếu nhưNULLS đầu tiênđược chỉ định, kèo bóng đá pháp giá trị null sắp xếp trước tất cả kèo bóng đá pháp giá trị không null. Nếu không được chỉ định, hành vi mặc định làNULLS LASTKhiASCđược chỉ định hoặc ngụ ý vàNULLS đầu tiênKhiDescđược chỉ định (do đó, mặc định là hành động như thể null lớn hơn không phải là nulls). Khisử dụng67867_67983
Lưu ý rằng các tùy kèo bóng đá pháp đặt hàng chỉ áp dụng cho biểu thức mà chúng tuân theo; Ví dụ68090_68Bavaria Atelier68Phim Luso_68148Đặt kèo bóng đá pháp bởi x desc, y desc.
Dữ liệu chuỗi ký tự được sắp xếp theo đối chiếu áp dụng cho cột được sắp xếp. Điều đó có thể được ghi đè ở nhu cầu bằng cách bao gồm mộtđối chiếumệnh đề trongBiểu thứcVí dụĐặt kèo bóng đá pháp bởi MyColumn đối chiếu "EN_US". Để biết thêm thông tin, xemPhần 4.2.10vàPhần 23.2.
TheGiới hạnmệnh đề bao gồm hai nhóm phụ độc lập:
Giới hạnĐếm| TẤT CẢBắt đầu
ĐếmChỉ định số lượng kèo bóng đá pháp tối đa để trả về, trong khiBắt đầuChỉ định số lượng kèo bóng đá pháp sẽ bỏ qua trước khi bắt đầu trả lại kèo bóng đá pháp. Khi cả hai được chỉ định,Bắt đầukèo bóng đá pháp được bỏ qua trước khi bắt đầu đếmĐếmkèo bóng đá pháp được trả về.
NếuĐếmBiểu thức đánh giá thành NULL, nó được coi làGiới hạn tất cả, tức là, không có giới hạn. Nếu nhưBắt đầuĐánh giá thành NULL, nó được đối xử giống nhưOffset 0.
SQL: 2008 đã giới thiệu một cú pháp khác để đạt được cùng một kết quả, màPOSTGRESQLCũng hỗ trợ. Đó là:
OffsetBắt đầukèo bóng đá pháp | kèo bóng đá phápĐếm] kèo bóng đá pháp | kèo bóng đá pháp chỉ
Trong cú pháp này,Bắt đầuhoặcĐếmGiá trị được yêu cầu bởi tiêu chuẩn là hằng số theo nghĩa đen, tham số hoặc tên biến; như mộtPOSTGRESQLPhần mở rộng, kèo bóng đá pháp biểu thức khác được cho phép, nhưng thường sẽ cần phải được đặt trong ngoặc đơn để tránh sự mơ hồ. Nếu nhưĐếmđược bỏ qua trong AFetchmệnh đề, nó mặc định là 1.kèo bóng đá phápvàkèo bóng đá phápcũng nhưĐầu tiênvàNEXTlà những từ tiếng ồn không ảnh hưởng đến tác động của kèo bóng đá pháp mệnh đề này. Theo tiêu chuẩn,Offsetmệnh đề phải đến trướcFetchmệnh đề nếu cả hai có mặt; NhưngPOSTGRESQLlà Laxer và cho phép một trong hai thứ tự.
Khi sử dụngGiới hạn, nên sử dụngĐặt kèo bóng đá pháp bởimệnh đề hạn chế kèo bóng đá pháp hàng kết quả thành một thứ tự duy nhất. Nếu không, bạn sẽ nhận được một tập hợp con không thể đoán trước của kèo bóng đá pháp hàng của truy vấn - bạn có thể đang yêu cầu kèo bóng đá pháp hàng thứ mười đến thứ hai, nhưng thứ mười đến thứ hai trong thứ tự?Đặt kèo bóng đá pháp bởi.
Người lập kế hoạch truy vấn lấygiới hạn71362_71516Giới hạnvàOffset. Do đó, sử dụng khác nhaugiới hạn/OffsetGiá trị để kèo bóng đá pháp các tập hợp con khác nhau của kết quả truy vấnSẽ cho kết quả không nhất quánTrừ khi bạn thực thi đặt kèo bóng đá pháp kết quả dự đoán vớiĐặt kèo bóng đá pháp bởi. Đây không phải là một lỗi;Đặt kèo bóng đá pháp bởi72067_721949-12-23 |
72Columbia_72165giới hạnTruy vấn trả về kèo bóng đá pháp tập hợp con khác nhau của kèo bóng đá pháp hàng của bảng, nếu không cóĐặt kèo bóng đá pháp bởiĐể thực thi lựa kèo bóng đá pháp một tập hợp con xác định. Một lần nữa, đây không phải là một lỗi;
để cập nhật, Không có cập nhật khóa, để chia sẻvàđể chia sẻ chínhlàkèo bóng đá pháp điều khoản khóa; chúng ảnh hưởng đến cáchkèo bóng đá phápKhóa kèo bóng đá pháp khi chúng được lấy từ bảng.
mệnh đề khóa có dạng chung
choLock_Strong[củaTable_Name[, ...]] [nowait | Bỏ qua bị khóa]
WHERELock_Strongcó thể là một trong
Cập nhật
Để biết thêm thông tin về mỗi chế độ khóa cấp kèo bóng đá pháp, hãy tham khảoPhần 13.3.2.
Để ngăn chặn hoạt động chờ kèo bóng đá pháp giao dịch khác để cam kết, hãy sử dụngnowaithoặcBỏ qua khóaTùy kèo bóng đá pháp. Vớinowait, câu lệnh báo cáo lỗi, thay vì chờ đợi, nếu một hàng được kèo bóng đá pháp không thể bị khóa ngay lập tức. VớiBỏ qua khóa, bất kỳ hàng được kèo bóng đá pháp nào không thể bị khóa ngay lập tức đều bị bỏ qua. Bỏ qua các hàng bị khóa cung cấp một cái nhìn không nhất quán về dữ liệu, vì vậy điều này không phù hợp cho công việc có mục đích chung, nhưng có thể được sử dụng để tránh sự tranh chấp khóa với nhiều người tiêu dùng truy cập vào bảng giống như hàng đợi.nowaitvàBỏ qua khóaChỉ áp dụng cho khóa cấp độ kèo bóng đá pháp-Yêu cầuChia sẻ chính [của kèo bóng đá phápKhóa cấp bảng vẫn được thực hiện theo cách thông thường (xemChương 13). Bạn có thể sử dụngkhóavớinowaitTùy kèo bóng đá pháp đầu tiên, nếu bạn cần có được khóa cấp bảng mà không phải chờ.
Nếu kèo bóng đá pháp bảng cụ thể được đặt tên trong mệnh đề khóa, thì chỉ kèo bóng đá pháp hàng đến từ kèo bóng đá pháp bảng đó bị khóa; bất kỳ bảng nào khác được sử dụng trongkèo bóng đá phápchỉ đơn giản là đọc như bình thường. Một mệnh đề khóa mà không có danh sách bảng ảnh hưởng đến tất cả kèo bóng đá pháp bảng được sử dụng trong câu lệnh.vớiTruy vấn được tham chiếu bởi truy vấn chính. Nếu bạn muốn khóa kèo bóng đá pháp xảy ra trong mộtvớiTruy vấn, chỉ định mệnh đề khóa trongvớiTruy vấn.
Có thể viết nhiều điều khoản khóa nếu cần chỉ định hành vi khóa khác nhau cho kèo bóng đá pháp bảng khác nhau. Nếu cùng một bảng được đề cập (hoặc bị ảnh hưởng ngầm) bởi nhiều điều khoản khóa, thì nó được xử lý như thể nó chỉ được chỉ định bởi điều mạnh nhất.nowaitNếu điều đó được chỉ định trong bất kỳ mệnh đề nào ảnh hưởng đến nó. Nếu không, nó được xử lý làBỏ qua khóaNếu điều đó được chỉ định trong bất kỳ mệnh đề nào ảnh hưởng đến nó.
kèo bóng đá pháp mệnh đề khóa không thể được sử dụng trong kèo bóng đá pháp bối cảnh trong đó kèo bóng đá pháp hàng được trả về không thể được xác định rõ ràng với kèo bóng đá pháp hàng bảng riêng lẻ; Ví dụ: chúng không thể được sử dụng với tập hợp.
Khi mệnh đề khóa xuất hiện ở cấp cao nhất của Akèo bóng đá phápTruy vấn, kèo bóng đá pháp hàng bị khóa chính xác là kèo bóng đá pháp hàng được trả về bởi truy vấn; Trong trường hợp truy vấn tham gia, kèo bóng đá pháp hàng bị khóa là những hàng đóng góp để trả lại kèo bóng đá pháp hàng tham gia.giới hạnĐược sử dụng, khóa dừng một khi đủ kèo bóng đá pháp hàng đã được trả về để đáp ứng giới hạn (nhưng lưu ý rằng kèo bóng đá pháp hàng bị bỏ qua bởiOffsetsẽ bị khóa). Tương tự, nếu một mệnh đề khóa được sử dụng trong truy vấn của con trỏ, chỉ kèo bóng đá pháp hàng thực sự được lấy hoặc bước qua con trỏ sẽ bị khóa.
Khi một mệnh đề khóa xuất hiện trong một phụ-kèo bóng đá pháp, kèo bóng đá pháp hàng bị khóa là những hàng được trả lại cho truy vấn bên ngoài bởi trình tự phụ. Điều này có thể liên quan đến ít hàng hơn so với việc kiểm tra chỉ số trình điều khiển phụ sẽ đề xuất, vì kèo bóng đá pháp điều kiện từ truy vấn bên ngoài có thể được sử dụng để tối ưu hóa việc thực hiện trình điều khiển phụ.
kèo bóng đá pháp * Từ (kèo bóng đá pháp * từ MyTable để cập nhật) SS trong đó col1 = 5;
Sẽ chỉ khóa kèo bóng đá pháp hàng cócol1 = 5, mặc dù điều kiện đó không có văn bản trong trình tự phụ.
kèo bóng đá pháp bản phát hành trước không bảo quản khóa được nâng cấp bởi điểm lưu sau. Ví dụ: mã này:
Bắt đầu;
Sẽ không bảo tồnđể cập nhậtkhóa saurollback to. Điều này đã được sửa trong bản phát hành 9.3.
THẬN TRỌNG |
Có thể cho Akèo bóng đá phápLệnh chạy tạiĐọc cam kếtMức cách ly giao dịch và sử dụngĐặt kèo bóng đá pháp bởivà một mệnh đề khóa để trả lại kèo bóng đá pháp theo thứ tự. Điều này là bởi vìđặt kèo bóng đá pháp bởiđược áp dụng đầu tiên. Lệnh sắp xếp kết quả, nhưng sau đó có thể chặn cố gắng có được một khóa trên một hoặc nhiều kèo bóng đá pháp.kèo bóng đá phápbỏ chặn, một số giá trị cột đặt hàng có thể đã được sửa đổi, dẫn đến kèo bóng đá pháp hàng đó dường như không theo thứ tự (mặc dù chúng theo thứ tự theo giá trị cột ban đầu). Điều này có thể được làm việc xung quanh nhu cầu bằng cách đặtđể cập nhật/chia sẻmệnh đề trong trình tự phụ, ví dụ kèo bóng đá pháp * Từ (kèo bóng đá pháp * từ MyTable để cập nhật) SS Order theo cột1; Lưu ý rằng điều này sẽ dẫn đến việc khóa tất cả kèo bóng đá pháp hàng củamytable, trong khiđể cập nhậtỞ cấp cao nhất sẽ chỉ khóa kèo bóng đá pháp hàng thực sự được trả về. Điều này có thể tạo ra sự khác biệt về hiệu suất đáng kể, đặc biệt nếuđặt kèo bóng đá pháp bởiđược kết hợp vớiGiới hạnhoặc kèo bóng đá pháp hạn chế khác. Vì vậy, kỹ thuật này chỉ được khuyến nghị nếu kèo bóng đá pháp bản cập nhật đồng thời của kèo bóng đá pháp cột đặt hàng được dự kiến và kết quả được sắp xếp nghiêm ngặt là bắt buộc. tạiĐọc lặp lạihoặcserializableMức cách cô lập giao dịch Điều này sẽ gây ra lỗi tuần tự hóa (vớiSQLSTATEcủa'40001'), vì vậy không có khả năng nhận hàng không theo thứ tự theo kèo bóng đá pháp cấp độ cô lập này. |
lệnh
Bảngtên
tương đương với
kèo bóng đá pháp * từtên
Nó có thể được sử dụng như một lệnh cấp cao nhất hoặc như một biến thể cú pháp tiết kiệm không gian trong kèo bóng đá pháp phần của kèo bóng đá pháp truy vấn phức tạp. Chỉvới, Union, Intersect, ngoại trừ, Đặt kèo bóng đá pháp bởi, giới hạn, Offset, FetchvàchoCó thể sử dụng kèo bóng đá pháp điều khoản khóa vớiBảng; TheWHEREmệnh đề và bất kỳ hình thức tổng hợp nào không thể được sử dụng.
Để tham gia bảngPhimVới bảngnhà phân phối:
kèo bóng đá pháp F.Title, F.Did, D.Name, F.Date_Prod, F.Kind
Để tổng hợp cột8Jean Luc Godard6_8Tối quan trọng18Tối quan trọng4_8Columbia5820th Century Fox3_820th Century Fox9:
8Phim Luso6_81322
Để tổng hợp cộtlencủa tất cả kèo bóng đá pháp bộ phim, nhóm kết quả theoKindvà hiển thị kèo bóng đá pháp tổng số nhóm đó dưới 5 giờ:
kèo bóng đá pháp loại, sum (len) làm tổng số
Hai ví dụ sau là kèo bóng đá pháp cách giống hệt nhau để sắp xếp kèo bóng đá pháp kết quả riêng lẻ theo nội dung của cột thứ hai (tên):
kèo bóng đá pháp * từ đơn đặt hàng của nhà phân phối theo tên;
Ví dụ tiếp theo cho thấy cách có được sự kết hợp của kèo bóng đá pháp bảngNhà phân phốivàdiễn viên, Hạn chế kết quả cho kèo bóng đá pháp kết quả bắt đầu bằng chữ W trong mỗi bảng. Chỉ kèo bóng đá pháp hàng khác biệt được muốn, vì vậy từ khóatất cảđược bỏ qua.
Nhà phân phối: kèo bóng đá pháp diễn viên:
Ví dụ này cho thấy cách sử dụng hàm trongtừmệnh đề, cả có và không có danh sách định nghĩa cột:
Tạo kèo bóng đá pháp nhà phân phối chức năng (int) Trả về kèo bóng đá pháp nhà phân phối setof dưới dạng $$
Đây là một ví dụ về hàm có cột chữ cái được thêm vào:
kèo bóng đá pháp * từ sự xuất hiện (Array ['A', 'B', 'C', 'D', 'E', 'F'])
Ví dụ này cho thấy cách sử dụng đơn giảnvớimệnh đề:
với t As (
Lưu ý rằngvớiTruy vấn chỉ được đánh giá một lần, để chúng tôi có hai bộ của cùng ba giá trị ngẫu nhiên.
Ví dụ này sử dụngvới đệ quyĐể tìm tất cả kèo bóng đá pháp cấp dưới (trực tiếp hoặc gián tiếp) của nhân viên Mary và mức độ gián tiếp của họ, từ một bảng chỉ hiển thị cấp dưới trực tiếp:
với nhân viên đệ quy_recursive (khoảng cách, nhân viên_name, Manager_name) là (
Lưu ý hình thức điển hình của kèo bóng đá pháp truy vấn đệ quy: một điều kiện ban đầu, theo sau làUnion, tiếp theo là phần đệ quy của truy vấn. Hãy chắc chắn rằng phần đệ quy của truy vấn cuối cùng sẽ không trả lại không, nếu không thì truy vấn sẽ lặp lại vô thời hạn.Phần 7.8Để biết thêm ví dụ.)
Ví dụ này sử dụngbênĐể áp dụng chức năng hoàn trảget_product_names ()
cho mỗi kèo bóng đá pháp củaNhà sản xuấtBảng:
kèo bóng đá pháp M.Name là MNAME, PNAME
kèo bóng đá pháp nhà sản xuất hiện không có bất kỳ sản phẩm nào sẽ không xuất hiện trong kết quả, vì nó là một tham gia bên trong. Nếu chúng tôi muốn đưa tên của kèo bóng đá pháp nhà sản xuất như vậy vào kết quả, chúng tôi có thể làm:
kèo bóng đá pháp M.Name là MNAME, PNAME
Tất nhiên,kèo bóng đá phápCâu lệnh tương thích với tiêu chuẩn SQL. Nhưng có một số tiện ích mở rộng và một số tính năng còn thiếu.
POSTGRESQLCho phép người ta bỏ quatừmệnh đề. Nó có một mục đích sử dụng đơn giản để tính toán kết quả của kèo bóng đá pháp biểu thức đơn giản:
kèo bóng đá pháp 2+2;
Một số khácSQLCơ sở dữ liệu không thể thực hiện điều này ngoại trừ bằng cách giới thiệu một bảng một giả để thực hiệnkèo bóng đá pháp.
Lưu ý rằng nếu Atừmệnh đề không được chỉ định, truy vấn không thể tham chiếu bất kỳ bảng cơ sở dữ liệu nào. Ví dụ: truy vấn sau không hợp lệ:
kèo bóng đá pháp nhà phân phối.* Trong đó các nhà phân phối.name = 'Westward';
POSTGRESQLPhát hành trước 8.1 sẽ chấp nhận kèo bóng đá pháp truy vấn của biểu mẫu này và thêm một mục nhập ngầm vào truy vấntừmệnh đề cho mỗi bảng được tham chiếu bởi truy vấn. Điều này không còn được phép nữa.
Danh sách kèo bóng đá pháp biểu thức đầu ra saukèo bóng đá phápcó thể trống, tạo ra bảng kết quả không cột. Đây không phải là cú pháp hợp lệ theo tiêu chuẩn SQL.POSTGRESQLcho phép nó phù hợp với việc cho phép kèo bóng đá pháp bảng không cột. Tuy nhiên, một danh sách trống không được phép khikhác biệtđược sử dụng.
Trong tiêu chuẩn SQL, từ khóa tùy kèo bóng đá phápAScó thể được bỏ qua trước tên cột đầu ra bất cứ khi nào tên cột mới là tên cột hợp lệ (nghĩa là không giống như bất kỳ từ khóa dành riêng nào).PostgreSQLHạn chế hơn một chút:ASlà bắt buộc nếu tên cột mới phù hợp với bất kỳ từ khóa nào, được bảo lưu hay không. Thực hành được đề xuất là sử dụngAS88785_88891
intừkèo bóng đá pháp mục, cả tiêu chuẩn vàPOSTGRESQLcho phépASĐược bỏ qua trước một bí danh là từ khóa không được lưu giữ. Nhưng điều này là không thực tế đối với tên cột đầu ra, vì sự mơ hồ của cú pháp.
Tiêu chuẩn SQL yêu cầu dấu ngoặc đơn xung quanh tên bảng khi viếtchỉVí dụkèo bóng đá pháp * chỉ từ (tab1), chỉ (tab2) trong đó .... POSTGRESQLcoi các dấu ngoặc đơn này là tùy kèo bóng đá pháp.
PostgreSQLCho phép theo dõi*được viết để chỉ định rõ ràng khôngChỉHành vi bao gồm kèo bóng đá pháp bảng con. Tiêu chuẩn không cho phép điều này.
(Những điểm này áp dụng như nhau cho tất cả kèo bóng đá pháp lệnh SQL hỗ trợChỉTùy kèo bóng đá pháp.)
The90Jean Luc Godard_90115mệnh đề hiện chỉ được chấp nhận trên kèo bóng đá pháp bảng thông thường và kèo bóng đá pháp chế độ xem được vật chất hóa. Theo tiêu chuẩn SQL, có thể áp dụng nó cho bất kỳtừMục.
PostgreSQLCho phép một cuộc gọi chức năng được viết trực tiếp dưới dạng thành viên củatừDanh sách. Trong tiêu chuẩn SQL, cần phải kết thúc một cuộc gọi chức năng như vậy trong một phụ-kèo bóng đá pháp; nghĩa là, cú pháptừfunc(...)bí danhTừ bên (kèo bóng đá phápfunc(...))bí danh. Lưu ý rằng91949-12-23 |0_91949-12-23 |9được coi là ẩn; Điều này là do tiêu chuẩn yêu cầu9Walt Disney1_9Warner Bros 3 |09Warner Bros 3 |3_91143unnest ()Mục trongtừ. POSTGRESQLTreatsunnest ()giống như kèo bóng đá pháp chức năng hoàn trả khác.
Trong tiêu chuẩn SQL-92, anĐặt kèo bóng đá pháp bởimệnh đề chỉ có thể sử dụng tên hoặc số cột đầu ra, trong khi ANhóm bởimệnh đề chỉ có thể sử dụng kèo bóng đá pháp biểu thức dựa trên tên cột đầu vào.POSTGRESQLMở rộng từng điều khoản này để cho phép lựa kèo bóng đá pháp khác (nhưng nó sử dụng cách giải thích của tiêu chuẩn nếu có sự mơ hồ).POSTGRESQLCũng cho phép cả hai mệnh đề chỉ định kèo bóng đá pháp biểu thức tùy ý. Lưu ý rằng kèo bóng đá pháp tên xuất hiện trong một biểu thức sẽ luôn được lấy dưới dạng tên cột đầu vào, không phải là tên cột đầu ra.
SQL: 1999 và sau đó sử dụng một định nghĩa hơi khác mà không hoàn toàn tương thích với SQL-92. Tuy nhiên, trong hầu hết kèo bóng đá pháp trường hợp,PostgreSQLSẽ diễn giải mộtĐặt kèo bóng đá pháp bởihoặcNhóm bởiBiểu thức theo cùng một cách SQL: 1999 làm.
POSTGRESQLNhận dạng phụ thuộc chức năng (cho phép kèo bóng đá pháp cột bị bỏ qua từNhóm bởi) Chỉ khi khóa chính của bảng được bao gồm trongNhóm bởiDanh sách. Tiêu chuẩn SQL chỉ định kèo bóng đá pháp điều kiện bổ sung cần được nhận dạng.
Tiêu chuẩn SQL cung cấp các tùy kèo bóng đá pháp bổ sung cho cửa sổframe_clause. PostgreSQLHiện tại chỉ hỗ trợ các tùy kèo bóng đá pháp được liệt kê ở trên.
kèo bóng đá pháp điều khoảnGiới hạnvàOffsetlàPostgreSQL-Specific Cú pháp, cũng được sử dụng bởiMySQL. Tiêu chuẩn SQL: 2008 đã giới thiệu kèo bóng đá pháp điều khoảnOffset ... tìm nạp đầu tiên | tiếp theo ...Đối với cùng một chức năng, như được hiển thị ở trên trongĐiều khoản giới hạn. Cú pháp này cũng được sử dụng bởiIBM DB2. (Ứng dụng được viết choOracleThường xuyên sử dụng cách giải quyết liên quan đến tự động được tạoRownumCột, không có sẵn trong PostgreSQL, để thực hiện kèo bóng đá pháp hiệu ứng của kèo bóng đá pháp điều khoản này.)
mặc dùđể cập nhậtXuất hiện trong tiêu chuẩn SQL, tiêu chuẩn chỉ cho phép nó như một tùy kèo bóng đá pháp củaTuyên bố con trỏ. PostgreSQLCho phép nó trong bất kỳkèo bóng đá phápTruy vấn cũng như trong Sub-kèo bóng đá pháps, nhưng đây là một phần mở rộng. TheKhông có cập nhật khóa, để chia sẻvàđể chia sẻ chínhBiến thể, cũng nhưnowaitvàBỏ qua khóaTùy kèo bóng đá pháp, không xuất hiện trong tiêu chuẩn.