kèo bóng đá euro, Bảng, với - Lấy các hàng từ bảng hoặc xem
10087_10Walt Disney1951-08-11 | |39_1951-08-11 | |51
1951-08-11 | |61_Jean Luc Godard05Biểu thức
[, ...])]]]]Tối quan trọng12_Tối quan trọng24
[[As]Tối quan trọng74_Tối quan trọng87
] [, ...]]from_item
[, ...]]điều kiện
]Grouping_element
[, ...]]điều kiện
Toho99_Columbia17window_name
As (Về phía tây 1 |04_Về phía tây 1 |23
Về phía tây 1 |33_20th Century Fox04kèo bóng đá euro
]Biểu thức
[ASC | Desc |Nhà điều hành
120th Century Fox2_Walt Disney48Walt Disney76_Walt Disney83
| TẤT CẢ ]Bắt đầu
Warner Bros 3 |64_Phim Luso15Đếm
] kèo bóng đá euro | kèo bóng đá euro chỉ |Table_Name
[, ...]] [nowait | Bỏ qua bị khóa] [...]]WHEREfrom_item
có 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
12076_12Tối quan trọngkèo bóng đá euro
) [As]bí danh
[(Cột_alias
[, ...])]with_query_name
[[As]bí 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
13Warner Bros 3 |_13119Đối số
[, ...]]) như (cột_definition
[, ...])function_name
([Đối số
[, ...]]) [As (Cột_Definition
[, ...])] [, ...])bí danh
[(Cột_alias
[, ...])]]from_item
Join_Type
from_item
trêntham gia_condition
| Sử dụng (tham gia_column
[, ...])from_item
tự nhiênJoin_Type
from_item
from_item
tham gia chéofrom_item
vàGrouping_element
có 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_query
IS:with_query_name
[(Cột_name
[, ...])] như [[không] được vật chất hóa] (kèo bóng đá euro
|Giá trị
|Chèn
|Cập nhật
|Xóa
)Table_Name
[ *]
kèo bóng đá euro
Lấy kèo bóng đá euro hàng từ 0 hoặc nhiều bảng. Xử lý chung củakèo bóng đá euro
là như sau:
Tất cả kèo bóng đá euro truy vấn trongvới
Danh sách được tính toán. Chúng phục vụ hiệu quả như kèo bóng đá euro bảng tạm thời có thể được tham chiếu trongtừ
Danh sách. MỘTvới
Truy vấn được tham chiếu nhiều lần trongtừ
chỉ được tính toán một lần, trừ khi được chỉ định khác vớikhông được vật chất hóa
. (Nhìn thấyvới mệnh đềbên dưới.)
Tất cả kèo bóng đá euro 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, họ được giao nhau với nhau. (Nhìn thấytừ mệnh đềbên dưới.)
NếuWHERE
mệnh đề được chỉ định, tất cả kèo bóng đá euro hàng không thỏa mãn điều kiện được loại bỏ khỏi đầu ra. (Nhìn thấytrong đó mệnh đềbên dưới.)
NếuNhóm bởi
mệnh đề được chỉ định hoặc nếu có kèo bóng đá euro 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 đá euro nhóm kèo bóng đá euro hàng khớp với một hoặc nhiều giá trị và kết quả của kèo bóng đá euro 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 đá euro 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.) Mặc dù kèo bóng đá euro cột đầu ra truy vấn được tính toán theo danh nghĩa trong bước tiếp theo, chúng cũng có thể được tham chiếu (theo tên hoặc số thứ tự) trongNhóm bởi
mệnh đề.
kèo bóng đá euro hàng đầu ra thực tế được tính toán bằng cách sử dụngkèo bóng đá euro
Biểu thức đầu ra cho mỗi nhóm được kèo bóng đá euro hoặc nhóm hàng. (Nhìn thấykèo bóng đá euro danh sáchbên dưới.)
kèo bóng đá euro khác biệt
Loại bỏ kèo bóng đá euro hàng trùng lặp khỏi kết quả.kèo bóng đá euro khác biệt trên
Loại bỏ kèo bóng đá euro hàng khớp với tất cả kèo bóng đá euro biểu thức được chỉ định.kèo bóng đá euro tất cả
(mặc định) sẽ trả về tất cả kèo bóng đá euro hàng ứng cử viên, bao gồm cả kèo bóng đá euro bản sao. (Nhìn thấymệnh đề riêng biệtbên dưới.)
Sử dụng kèo bóng đá euro toán tửUnion
, Intersect
vàngoại trừ
, đầu ra của nhiều hơn mộtkèo bóng đá euro
Câ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 minh
toán tử trả về tất cả kèo bóng đá euro hàng trong một hoặc cả hai bộ kết quả. TheIntersect
Toán tử trả về tất cả kèo bóng đá euro 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 đá euro 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 đá euro hàng trùng lặp được loại bỏ trừ khitất cả
được chỉ định. Từ tiếng ồnkhác biệt
có thể được thêm vào để chỉ định rõ ràng việc loại bỏ kèo bóng đá euro hàng trùng lặp. Lưu ý rằngkhác biệt
là hành vi mặc định ở đây, mặc dùtất cả
là mặc định chokèo bóng đá euro
chính nó. (Nhìn thấymệnh đề Union, mệnh đề giao nhauvàngoại trừ mệnh đềbên dưới.)
NếuĐặt kèo bóng đá euro bởi
mệnh đề được chỉ định, kèo bóng đá euro hàng được trả về được sắp xếp theo thứ tự được chỉ định. Nếu nhưĐặt kèo bóng đá euro bởi
Không được đưa ra, kèo bóng đá euro hàng được trả về 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 đá euro theo điều khoảnbên dưới.)
NếuGiới hạn
(hoặcFetch First
) hoặcOffset
mệnh đề được chỉ định,kèo bóng đá euro
Câu lệnh chỉ trả về một tập hợp con của kèo bóng đá euro 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 khóa
, để chia sẻ
hoặcđể chia sẻ chính
được chỉ định,kèo bóng đá euro
Tuyên bố khóa các hàng đã kèo bóng đá euro so 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 đá euro
Đặc quyền trên mỗi cột được sử dụng trong Akèo bóng đá euro
lệnh. Việc sử dụngKhông có cập nhật khóa
, để cập nhật
, để chia sẻ
hoặcđể chia sẻ chính
Yêu cầuCập nhật
Đặc quyền cũng vậy (cho ít nhất một cột của mỗi bảng được kèo bóng đá euro).
với
mệnh đềThevới
mệnh đề cho phép bạn chỉ định một hoặc nhiều truy vấn con có thể được tham chiếu bằng tên trong truy vấn chính. kèo bóng đá euro nhóm con hoạt động hiệu quả như kèo bóng đá euro 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 đá euro
, Bảng
, Giá trị
, Chèn
, Cập nhật
hoặcXóa
Tuyên bố. Khi viết câu lệnh biến đổi dữ liệu (Chèn
, Cập nhật
hoặ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ới
Truy vấn. Tùy kèo bóng đá euro, một danh sách các tên cột có thể được chỉ định;
nếuđệ quy
được chỉ định, nó cho phép Akèo bóng đá euro
Sub 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_term
Union [Tất cả | RIÊNG BIỆT ]Recursive_term
Trong đó sự 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 đá euro
Truy vấn trong câu lệnh biến đổi dữ liệu. Nhìn thấyPhần 7.8Ví dụ.
Một hiệu ứng khác củaKiểu đệ quy
làvới
Truy 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 đá euro 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ới
Truy vấn chỉ có thể tham khảo anh chị emvới
Truy vấn sớm hơn trongvới
Danh sách.
Khi có nhiều truy vấn trongvới
mệnh đề,Kiểu đệ quy
nê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 đá euro truy vấn trongvới
mệnh đề, mặc dù nó không có tác dụng đối với kèo bóng đá euro truy vấn không sử dụng kèo bóng đá euro tham chiếu đệ quy hoặc chuyển tiếp.
Truy vấn chính vàvới
Truy 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 đá euro hiệu ứng của câu lệnh biến đổi dữ liệu trongvới
Không thể nhìn thấy từ kèo bóng đá euro 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 đá euro, kết quả không được xác định.
Một thuộc tính chính củavới
Truy vấn là chúng thường được đánh giá chỉ 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 đá euro 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.
Tuy nhiên, Avới
Truy vấn có thể được đánh dấukhông được vật chất hóa
Để loại bỏ bảo đảm này. Trong trường hợp đó,26098_26Mosfilm
Truy vấn có thể được gấp lại vào truy vấn chính nhiều như thể nó là một phụ đơn giảnkèo bóng đá euro
Trong truy vấn chính củatừ
mệnh đề. Điều này dẫn đến kèo bóng đá euro tính toán trùng lặp nếu truy vấn chính đề cập đến đóvới
Truy vấn nhiều lần; Nhưng nếu mỗi lần sử dụng như vậy chỉ yêu cầu một vài kèo bóng đá euro củavới
Tổng số đầu ra của truy vấn,không được vật chất hóa
có thể cung cấp tiết kiệm ròng bằng cách cho phép kèo bóng đá euro truy vấn được tối ưu hóa chung.không được vật chất hóa
bị bỏ qua nếu nó được gắn vàovới
Truy vấn đệ quy hoặc không có tác dụng phụ (nghĩa là, không phải là đơn giảnkèo bóng đá euro
Không chứa kèo bóng đá euro chức năng dễ bay hơi).
Theo mặc định, không có hiệu ứng phụvới
Truy vấn được gấp lại vào truy vấn chính nếu nó được sử dụng chính xác một lần trong truy vấn chínhtừ
mệnh đề. Điều này cho phép tối ưu hóa chung của hai mức truy vấn trong kèo bóng đá euro tình huống cần vô hình về mặt ngữ nghĩa.với
Truy vấn asvật chất hóa
. Điều đó có thể hữu ích, ví dụ, nếuvới
Truy vấn đang được sử dụng như một hàng rào tối ưu hóa để ngăn người lập kế hoạch kèo bóng đá euro một kế hoạch xấu.PostgreSQLPhiên bản trước V12 chưa bao giờ gấp như vậy, vì vậy kèo bóng đá euro truy vấn được viết cho kèo bóng đá euro phiên bản cũ hơn có thể dựa vàovới
Để hoạt động như một kèo bóng đá euro rào tối ưu hóa.
xemPhần 7.8Để biết thêm thông tin.
từ
mệnh đềThetừ
mệnh đề Chỉ định một hoặc nhiều bảng nguồn chokèo bóng đá euro
. 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 đá euro nguồn.WHERE
) để hạn chế kèo bóng đá euro 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 đá euro yếu tố sau:
Table_Name
Tên (tùy kèo bóng đá euro theo trình độ lược đồ) 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 đá euro,*
Có thể được chỉ định sau tên bảng để chỉ ra rõ ràng rằng kèo bóng đá euro bảng hậu duệ được bao gồm.
bí danh
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ủakèo bóng đá euro
phải tham khảo điều nàytừ
Mục dưới dạngf
khô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.
Bảng mẫuSampling_method
30Bavaria Atelier_30115Đối số
[, ...]) [Lặp lại có thể lặp lại (hạt giống
)]
ABảng mẫu
mệnh đề sau ATable_Name
Cho biết rằng được chỉ địnhSampling_method
nên được sử dụng để truy xuất một tập hợp con của kèo bóng đá euro 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ưWHERE
mệnh đề. Tiêu chuẩnPostgreSQLPhân phối bao gồm hai phương thức lấy mẫu,Bernoulli
vàSystem
và kèo bóng đá euro 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 đá euro tiện ích mở rộng.
TheBernoulli
và31007_31951-08-11 | |5
Phươ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àoReal
biểu thức giá trị. .Bernoulli
Phương thức quét toàn bộ bảng và kèo bóng đá euro 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. TheSystem
Phươ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 đá euro; Tất cả các hàng trong mỗi khối được kèo bóng đá euro được trả về.System
Phương pháp nhanh hơn đáng kể so vớiBernoulli
Phươ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 đá euro hiệu ứng phân cụm.
32Columbia_32122Lặp lại
mệnh đề Chỉ định Ahạt giống
Số 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ố
Giá trị sẽ kèo bóng đá euro 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ại
không được đưa ra sau đó một mẫu ngẫu nhiên mới được kèo bóng đá euro 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ại
và sẽ luôn tạo ra kèo bóng đá euro mẫu mới trên mỗi lần sử dụng.
kèo bóng đá euro
A Sub-kèo bóng đá euro
có 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 đá euro
lệnh. Lưu ý rằng Sub-kèo bóng đá euro
phả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.
with_query_name
Avới
Truy 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ế,33915_33921
Truy vấn ẩn bất kỳ bảng thực nào cùng tên cho kèo bóng đá euro 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.
function_name
kèo bóng đá euro cuộc gọi chức năng có thể xuất hiện trongtừ
mệnh đề. .kèo bóng đá euro
Lệnh. Nếu loại kết quả của hàm là tổng hợp (bao gồm cả trường hợp của một hàm có nhiềuout
tham số), mỗi thuộc tính trở thành một cột riêng biệt trong bảng ngầm.
Khi tùy kèo bóng đá euroVới quy tắc
mệnh đề được thêm vào cuộc gọi chức năng, một cột bổ sung loạiBigint
sẽ được gắn vào cột kết quả của hàm. Cột này đánh số kèo bóng đá euro hàng của tập kết quả của hàm, bắt đầu từ 1. Theo mặc định, cột này được đặt tênTổ chức
.
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 tọa độ nếu có.
Nhiều cuộc gọi chức năng có thể được kết hợp thành mộttừ
-ClAUSE item bằng cách xung quanh chúng vớikèo bóng đá euro 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 đá euro hàm khác, kèo bóng đá euro 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ềRecord
Kiểu dữ liệu, sau đó là bí danh hoặc từ khóaAS
phải có mặt, theo sau là danh sách định nghĩa cột trong biểu mẫu(
. 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.Cột_name
data_type
[, ...])
Khi sử dụngkèo bóng đá euro từ (...)
36649_36799kèo bóng đá euro từ (...)
. Danh sách định nghĩa cột có thể được đặt saukèo bóng đá euro từ (...)
Xây dựng chỉ khi chỉ có một hàm và khôngVới quy tắc
mệnh đề.
Để sử dụngTổ chức
Cùng với danh sách định nghĩa cột, bạn phải sử dụngkèo bóng đá euro từ (...)
Cú pháp và đặt danh sách định nghĩa cột bên trongkèo bóng đá euro từ (...)
.
Join_Type
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
chobên trong
vàButer
kèo bóng đá euro 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 trongtrên
, tham gia_condition
Sử dụng (
hoặctham gia_column
[, ...])tự nhiên
. Xem bên dưới về ý nghĩa.
Atham gia
mệnh đề kết hợp haitừ
kèo bóng đá euro mục, để thuận tiện, chúng tôi sẽ gọi làBảngkèo bóng đá euro, 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 gia
S Nest từ trái sang phải. Trong mọi trường hợptham gia
Liên kết chặt chẽ hơn so với dấu phẩy phân táchtừ
-List. Tất cảTham gia
Tùy kèo bóng đá euro chỉ là một sự thuận tiện đáng chú ý, 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ái
Trả về tất cả kèo bóng đá euro hàng trong sản phẩm Cartesian đủ điều kiện (tức là, tất cả kèo bóng đá euro hàng kết hợp vượt qua điều kiện tham gia 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 đá euro giá trị null cho kèo bóng đá euro 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 đá euro 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ải
Trả về tất cả kèo bóng đá euro 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ái
bằng cách chuyển kèo bóng đá euro bảng bên trái và bên phải.
Tham gia đầy đủ bên ngoài
40368_40563
trêntham gia_condition
tham gia_condition
là một biểu thức dẫn đến giá trị của loạiBoolean
(Tương tự nhưWHERE
mệnh đề) chỉ định kèo bóng đá euro hàng nào trong một lần nối được coi là khớp.
Sử dụng (tham gia_column
[, ...])
Một mệnh đề của biểu mẫuSử dụng (a, b, ...)
là tốc ký cho41306_41376
. Cũng,Sử dụng
ngụ ý 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ên
tự nhiên
là tốc ký cho aSử dụng
Danh sách đề cập đến tất cả kèo bóng đá euro cột trong hai bảng có tên phù hợp. Nếu không có tên cột chung,tự nhiên
tương đương vớitrên True
.
tham gia chéo
tham gia chéo
là tương đương vớibên trong tham gia (đúng)
, nghĩa là không có kèo bóng đá euro nào được loại bỏ bằng trình độ. Họ sản xuất một sản phẩm Cartesian đơn giản, kết quả tương tự như bạn nhận được từ việc liệt kê hai bảng ở cấp cao nhất củatừ
, nhưng bị hạn chế bởi điều kiện tham gia (nếu có).
bên
Thebên
Từ khóa có thể đi trước Sub-kèo bóng đá euro
từ
Mục. Điều này cho phép phụ-kèo bóng đá euro
để tham khảo kèo bóng đá euro cột củatừ
kèo bóng đá euro 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 đá euro
được đánh giá độc lập và do đó không thể tham chiếu chéo bất kỳ ai kháctừ
43099_43Về phía tây 1 |
bên
cũ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 đá euro mục trong mọi trường hợp.
Abên
Mục có thể xuất hiện ở cấp cao nhất trongtừ
Danh sách hoặc trong Atham gia
câ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 gia
rằng nó ở phía bên phải của.
Khi Atừ
Mục chứabên
Tham khảo chéo, tiến hành đánh giá như sau: Đối với mỗi kèo bóng đá euro củatừ
Mục cung cấp (kèo bóng đá euro) cột tham chiếu chéo hoặc tập hợp kèo bóng đá euro hàng của nhiềutừ
kèo bóng đá euro mục cung cấp kèo bóng đá euro cột,441951-08-11 | |_44Bavaria Atelier
Mục được đánh giá bằng cách sử dụng kèo bóng đá euro giá trị của hàng hoặc hàng của kèo bóng đá euro cột. kèo bóng đá euro hàng kết quả được nối như thường lệ với kèo bóng đá euro hàng mà chúng được tính toán.
(kèo bóng đá euro) bảng nguồn phải làbên trong
hoặctrái
Đã tham gia vàobên
Mục khác, sẽ không có một tập hợp kèo bóng đá euro hàng được xác định rõ ràng để tính toán từng bộ hàng chobên
Mục. Do đó, mặc dù một cấu trúc như
có hiệu lực về mặt cú pháp, nó không thực sự được phép chox
phải tham gia bênY
y
để tham khảox
.
WHERE
mệnh đềTùy kèo bóng đá euroWHERE
mệnh đề có dạng chung
WHEREđiều kiện
WHEREđiều kiện
là 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 đá euro nào không thỏa mãn điều kiện này sẽ được loại bỏ khỏi đầu ra.
Nhóm bởi
mệnh đềTùy kèo bóng đá euroNhóm bởi
mệnh đề có dạng chung
Nhóm bởiNhóm_Euity
[, ...]
Nhóm bởi
sẽ ngưng tụ thành một hàng tất cả các hàng được kèo bóng đá euro chia sẻ cùng các giá trị cho các biểu thức được nhóm. MỘTBiểu thức
Được sử dụng bên trong ANhóm_element
có 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 đá euro
Liệt kê mục) hoặc biểu thức tùy ý được hình thành từ kèo bóng đá euro giá trị cột đầu vào. Trong trường hợp mơ hồ, ANhóm bởi
Tê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
, Rollup
hoặckhối
có mặt dưới dạng kèo bóng đá euro yếu tố nhóm, sau đó làNhóm bởi
mệ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 đá euro nhóm phụ với kèo bóng đá euro bộ nhóm riêng lẻ là của họNhóm bởi
mệnh đề. Để biết thêm chi tiết về việc xử lý kèo bóng đá euro bộ nhóm, xemPhần 7.2.4.
47383_47558Nhóm bởi
mệ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 đá euro.) Tập hợp các hàng được đưa vào mỗi hàm tổng hợp có thể được lọc thêm bằng cách gắn mộtbộ lọc
mệ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 AFilter
Mệnh đề có mặt, chỉ những kèo bóng đá euro 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ởi
Có mặt hoặc bất kỳ chức năng tổng hợp nào có mặt, nó không hợp lệ chokèo bóng đá euro
Liệt kê kèo bóng đá euro biểu thức để tham khảo kèo bóng đá euro cột không được nhóm ngoại trừ trong kèo bóng đá euro hàm tổng hợp hoặc khi cột không được phân nhóm phụ thuộc vào chức năng vào kèo bóng đá euro cột được nhóm, vì nếu không sẽ có nhiều hơn một giá trị có thể để trả về một cột không được nhóm. Một phụ thuộc chức năng tồn tại nếu kèo bóng đá euro cột được nhóm (hoặc một tập hợp con của chúng) là khóa chính của bảng chứa cột không nhóm.
Hãy nhớ rằng tất cả kèo bóng đá euro hàm tổng hợp được đánh giá trước khi đánh giá bất kỳ nàovô hướngkèo bóng đá euroBiểu thức trongcó
mệnh đề hoặckèo bóng đá euro
Danh sách. Điều này có nghĩa là, ví dụ, mộtcase
Biể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àđể chia sẻ chính
Không thể được chỉ định vớiNhóm bởi
.
có
mệnh đềTùy kèo bóng đá eurocó
mệnh đề có dạng chung
cóđiều kiện
WHEREđiều kiện
giống như được chỉ định choWHERE
mệnh đề.
có
Loại bỏ kèo bóng đá euro hàng nhóm không thỏa mãn điều kiện.có
WHERE
: WHERE
Lọc kèo bóng đá euro hàng riêng lẻ trước khi áp dụngNhóm bởi
, trong khicó
Bộ lọc kèo bóng đá euro hàng nhóm được tạo bởiNhóm bởi
. Mỗi cột được tham chiếu trongđiều kiện
phả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 đá euro 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ởi
mệnh đề. Điều này giống như những gì xảy ra khi truy vấn chứa kèo bóng đá euro hàm tổng hợp nhưng khôngNhóm bởi
50930_51951-08-11 | |0kèo bóng đá euro
Danh sách và5Columbia5_5Về phía tây 1 |3
mệnh đề chỉ có thể tham chiếu kèo bóng đá euro cột bảng từ bên trong kèo bóng đá euro 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 đá euro 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ính
Không thể được chỉ định vớicó
.
Window
mệnh đềTùy kèo bóng đá euroWindow
mệnh đề có dạng chung
Windowwindow_name
AS (window_definition
) [, ...]
WHEREwindow_name
là một tên có thể được tham chiếu từOver
kèo bóng đá euro điều khoản hoặc định nghĩa cửa sổ tiếp theo vàwindow_definition
là
[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 đó trongWindow
Danh 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 đá euro của nó nếu có.Phân vùng bởi
mệnh đề và nó có thể chỉ địnhĐặt kèo bóng đá euro bởi
Chỉ 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 đá euro yếu tố củaPhân vùng bởi
Danh sách được giải thích theo cách giống như kèo bóng đá euro yếu tố của ANhóm bởi
mệnh đề, 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 đá euro biểu thức này có thể chứa kèo bóng đá euro 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ởi
mệnh đề. Chúng được phép ở đây vì cửa sổ xảy ra sau khi nhóm và tập hợp.
Tương tự, kèo bóng đá euro yếu tố củaĐặt kèo bóng đá euro bởi
Danh sách được giải thích theo thời gian giống như kèo bóng đá euro yếu tố của cấp độ tuyên bốĐặt kèo bóng đá euro bởi
mệnh đề, ngoại trừ kèo bóng đá euro biểu thức luôn được coi là 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 đá euroframe_clause
Xác địnhkhung cửa sổĐối với kèo bóng đá euro 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 đá euro hàng liên quan cho mỗi hàng của truy vấn (được gọi làkèo bóng đá euro hiện tại). Theframe_clause
có thể là một trong
phạm vi | kèo bóng đá euro |frame_start
[frame_exclusion
]frame_start
vàframe_end
[frame_exclusion
]
WHEREframe_start
vàframe_end
có thể là một trong những
không bị ràng buộc trướcOffset
trướcOffset
sau đây
vàframe_exclusion
có thể là một trong
Loại trừ kèo bóng đá euro hiện tại
nếuframe_end
bị bỏ qua nó mặc định làkèo bóng đá euro hiện tại
. Hạn chế làframe_start
không thểKhông giới hạn sau
, frame_end
không thểkhông bị ràng buộc trước
vàframe_end
Lựa kèo bóng đá euro không thể xuất hiện sớm hơn trong danh sách trênframe_start
vàframe_end
Tùy kèo bóng đá euro hơnframe_start
Lựa kèo bóng đá euro không - ví dụPhạm vi giữa kèo bóng đá euro hiện tại và
không được phép.Offset
trước
Tùy kèo bóng đá euro đóng khung mặc định làPhạm vi không bị ràng buộc trước
, giống nhưkèo bóng đá euro | giữa kèo bóng đá euro trước và kèo bóng đá euro hiện tại không được giới hạn
; Nó đặt khung thành tất cả kèo bóng đá euro hàng từ phân vùng khởi động thông qua hàng cuối cùng của hàng hiện tạiPeer(một kèo bóng đá euro mà cửa sổĐặt kèo bóng đá euro bởi
mệnh đề xem xét tương đương với hàng hiện tại; Tất cả kèo bóng đá euro hàng đều là đồng nghiệp nếu không cóĐặt kèo bóng đá euro bởi
). Nói chung,không bị ràng buộc trước
có nghĩa là khung bắt đầu với kèo bóng đá euro đầu tiên của phân vùng và tương tựKhông giới hạn sau
có nghĩa là khung kết thúc bằng kèo bóng đá euro cuối cùng của phân vùng, bất kểphạm vi
, kèo bóng đá euro
hoặcNhóm
chế độ. TRONGkèo bóng đá euro
Mode,kèo bóng đá euro hiện tại
có nghĩa là khung bắt đầu hoặc kết thúc bằng kèo bóng đá euro hiện tại; Nhưng trongphạm vi
hoặcNhóm
Chế độ có nghĩa là khung bắt đầu hoặc kết thúc bằng kèo bóng đá euro đầu tiên hoặc cuối cùng của kèo bóng đá euro hiện tại trongđặt kèo bóng đá euro bởi
Đặt kèo bóng đá euro. TheOffset
trước
vàOffset
sau
Tùy kèo bóng đá euro khác nhau về nghĩa tùy thuộc vào chế độ khung. TRONGkèo bóng đá euro
MODE, TheOffset
là một số nguyên chỉ ra rằng khung bắt đầu hoặc kết thúc nhiều kèo bóng đá euro trước hoặc sau kèo bóng đá euro hiện tại. TRONGNhóm
MODE, TheOffset
là một số nguyên chỉ ra rằng khung bắt đầu hoặc kết thúc rằng nhiều nhóm ngang kèo bóng đá euro trước hoặc sau nhóm ngang kèo bóng đá euro của kèo bóng đá euro hiện tại, trong đó mộtNhóm ngang kèo bóng đá eurolà một nhóm kèo bóng đá euro hàng tương đương với cửa sổĐặt kèo bóng đá euro bởi
mệnh đề. TRONGphạm vi
chế độ, sử dụngOffset
Tùy kèo bóng đá euro yêu cầu có chính xác mộtĐặt kèo bóng đá euro bởi
Cột trong định nghĩa cửa sổ. Sau đó, khung chứa những kèo bóng đá euro có giá trị cột đặt kèo bóng đá euro không nhiều hơnOffset
Ít hơn (chotrước
) hoặc nhiều hơn (chosau
) Giá trị cột đặt kèo bóng đá euro của kèo bóng đá euro hiện tại. Trong những trường hợp này, kiểu dữ liệu củaOffset
Biểu thức phụ thuộc vào loại dữ liệu của cột đặt hàng. Đối với kèo bóng đá euro cột đặt hàng số, nó thường có cùng loại với cột đặt hàng, nhưng đối với kèo bóng đá euro cột đặt hàng DateTime, nó là mộtKhoảng
. Trong tất cả kèo bóng đá euro trường hợp này, giá trị củaOffset
phải không null và không âm. Ngoài ra, trong khiOffset
Không phải là hằng số đơn giản, nó không thể chứa kèo bóng đá euro biến, hàm tổng hợp hoặc kèo bóng đá euro hàm cửa sổ.
Theframe_exclusion
Tùy kèo bóng đá euro cho phép các hàng xung quanh hàng hiện tại được loại trừ khỏi khung, ngay cả khi chúng sẽ được bao gồm theo các tùy kèo bóng đá euro Khởi động và Khung kết thúc khung.Loại trừ kèo bóng đá euro hiện tại
Loại trừ kèo bóng đá euro hiện tại khỏi khung.loại trừ nhóm
Loại trừ hàng hiện tại và kèo bóng đá euro đồng nghiệp đặt hàng của nó khỏi khung.Loại trừ mối quan hệ
Loại trừ bất kỳ đồng nghiệp nào của kèo bóng đá euro hiện tại khỏi khung, nhưng không phải kèo bóng đá euro hiện tại.Không có người khác
Chỉ cần chỉ định rõ ràng hành vi mặc định của không loại trừ hàng hiện tại hoặc kèo bóng đá euro đồng nghiệp của nó.
Hãy coi chừngkèo bóng đá euro
Chế độ có thể tạo ra kết quả không thể đoán trước nếuđặt kèo bóng đá euro bởi
Đặt hàng không đặt hàng kèo bóng đá euro hàng độc đáo. Thephạm vi
vàNhóm
kèo bóng đá euro chế độ được thiết kế để đảm bảo rằng kèo bóng đá euro hàng là đồng nghiệp trongĐặt kèo bóng đá euro bởi
Đặt hàng được xử lý giống nhau: Tất cả kèo bóng đá euro hàng của một nhóm ngang hàng nhất định sẽ nằm trong khung hoặc loại trừ khỏi nó.
Mục đích của AWindow
mệnh đề là để chỉ định hành vi củachức năng cửa sổxuất hiện trong truy vấnkèo bóng đá euro
Danh sáchhoặcĐặt kèo bóng đá euro bởi
mệnh đề. kèo bóng đá euro chức năng này có thể tham chiếuWindow
Đo loại mục theo tên trong của họOver
mệnh đề. MỘTWindow
Tuy 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.Window
mệ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óOver
mệnh đề. Tuy nhiên,Window
61656_61755
Hiện tại,Không có cập nhật khóa
, để cập nhật
, để chia sẻ
vàđể chia sẻ chính
Không thể được chỉ định vớiWindow
.
kèo bóng đá euro chức năng cửa sổ được mô tả chi tiết trongPhần 3.5, Phần 4.2.8vàPhần 7.2.5.
kèo bóng đá euro
Danh sáchThekèo bóng đá euro
Danh sách (giữa kèo bóng đá euro từ khóakèo bóng đá euro
vàtừ
) Chỉ định kèo bóng đá euro biểu thức tạo thành kèo bóng đá euro hàng đầu ra củakèo bóng đá euro
Tuyên bố. kèo bóng đá euro biểu thức có thể (và thường làm) đề cập đến kèo bóng đá euro cột được tính toán trongtừ
mệnh đề.
Giống như trong một bảng, mỗi cột đầu ra của Akèo bóng đá euro
có tên. Trong một đơn giảnkèo bóng đá euro
Tên này chỉ được sử dụng để dán nhãn cột để hiển thị, nhưng khikèo bóng đá euro
là 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 tự phụ. Để chỉ định tên để sử dụng cho cột đầu ra, hãy viếtAS
output_name
sau 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ếtAS
hoặ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 đá euro 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 đá euro giống như tên của cột đó.? Cột?
.
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 đá euro bởi
vàNhóm bởi
mệnh đề, nhưng không có trongWHERE
hoặ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 đá euro. Ngoài ra, bạn có thể viết
như một tốc ký cho kèo bóng đá euro 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ớiTable_Name
.*AS
; 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 đá euro 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 đá euro bởi
hoặ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 đá euro biểu thức đầu ra được tính toán sauĐặt kèo bóng đá euro bởi
và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 đá euro biểu thức đầu ra sau khi sắp xếp và giới hạn, miễn là kèo bóng đá euro biểu thức đó không được tham chiếu trongkhác biệt
, Đặt kèo bóng đá euro bởi
hoặcNhóm bởi
. (Như một ví dụ,kèo bóng đá euro f (x) từ thứ tự tab bằng 1
rõ ràng phải đánh giáf (x)
Trước khi sắp xếp.) kèo bóng đá euro biểu thức đầu ra có chứa kèo bóng đá euro chức năng trả lại được đánh giá hiệu quả sau khi phân loại và trước khi giới hạn, do đóGiới hạn
Sẽ hành động để cắt đầu ra khỏi chức năng hoàn trả.
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 đá euro.
khác biệt
mệnh đềnếukèo bóng đá euro khác biệt
được chỉ định, tất cả kèo bóng đá euro 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 đá euro tất cả
Chỉ định ngược lại: Tất cả kèo bóng đá euro hàng được giữ; đó là mặc định.
kèo bóng đá euro khác biệt trên (
Chỉ giữ hàng đầu tiên của mỗi bộ hàng trong đó kèo bóng đá euro biểu thức đã cho đánh giá bằng nhau. TheBiểu thức
[, ...])khác biệt trên
Biểu thức được giải thích bằng cách sử dụng kèo bóng đá euro quy tắc tương tự như đối vớiĐặt kèo bóng đá euro bởi
(xem ở trên). Lưu ý rằngkèo bóng đá euro đầu tiêncủa mỗi bộ là không thể đoán trước trừ khiĐặt kèo bóng đá euro bởi
được sử dụng để đảm bảo rằng kèo bóng đá euro mong muốn xuất hiện đầu tiên. Ví dụ:
kèo bóng đá euro 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 đá euro bởi
Để buộc kèo bóng đá euro 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 gian không thể đoán trước cho mỗi địa điểm.
Thekhác biệt trên
Biểu thức phải khớp với ngoài cùng bên tráiĐặt kèo bóng đá euro bởi
Biểu thức. TheĐặt kèo bóng đá euro bởi
mệnh đề thường sẽ chứa (kèo bóng đá euro) biểu thức bổ sung để xác định ưu tiên mong muốn của kèo bóng đá euro hàng trong mỗikhác biệt trên
Nhóm.
Hiện tại,Không có cập nhật khóa
, để cập nhật
, để chia sẻ
vàđể chia sẻ chính
Không thể được chỉ định vớikhác biệt
.
Union
mệnh đềTheUnion
mệnh đề có hình thức chung này:
select_statement
Liên minh [Tất cả | RIÊNG BIỆT ]select_statement
select_statement
là bất kỳkèo bóng đá euro
câu không cóĐặt kèo bóng đá euro 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ính
mệnh đề. (Đặt kèo bóng đá euro bởi
vàgiới hạn
Có 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 đá euro đ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ó.)
TheLiên minh
Nhà điều hành tính toán liên kết đã đặt của kèo bóng đá euro hàng được trả về bởi liên quankèo bóng đá euro
Câ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 đá euro bộ kết quả.kèo bóng đá euro
kèo bóng đá euro câu lệnh đại diện cho kèo bóng đá euro toán hạng trực tiếp củaUnion
phải tạo ra cùng một số cột và kèo bóng đá euro cột tương ứng phải có kèo bóng đá euro loại dữ liệu tương thích.
Kết quả củaUnion
không chứa bất kỳ kèo bóng đá euro trùng lặp nào trừ khitất cả
Tùy kèo bóng đá euro được chỉ định.tất cả
Ngăn chặn việc loại bỏ kèo bóng đá euro 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ệt
có 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 đá euro hàng trùng lặp.
nhiềuUnion
kèo bóng đá euro toán tử trong cùngkèo bóng đá euro
Câ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ính
Không thể được chỉ định cho mộtUnion
Kết quả hoặc cho bất kỳ đầu vào nào của AUnion
.
Intersect
mệnh đềTheIntersect
mệnh đề có hình thức chung này:
select_statement
Giao lộ [tất cả | RIÊNG BIỆT ]select_statement
select_statement
là bất kỳkèo bóng đá euro
câu không cóĐặt kèo bóng đá euro 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ính
mệnh đề.
TheIntersect
Toán tử tính toán giao điểm đặt của kèo bóng đá euro hàng được trả về bởi liên quankèo bóng đá euro
Câu lệnh. Một kèo bóng đá euro 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ủaIntersect
không chứa bất kỳ kèo bóng đá euro trùng lặp nào trừ khitất cả
Tùy kèo bóng đá euro được chỉ định. Vớitất cả
, một kèo bóng đá euro cóM
trùng lặp ở bảng bên trái vàn
trù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ệt
Có 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 đá euro hàng trùng lặp.
nhiềuIntersect
kèo bóng đá euro toán tử trong cùngkèo bóng đá euro
Tuyên bố được đánh giá từ trái sang phải, trừ khi dấu ngoặc đơn khác.Intersect
Liên kết chặt chẽ hơnUnion
. Đó là,A Union B giao nhau C
sẽ đượ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ính
Không thể được chỉ định cho mộtIntersect
Kết quả hoặc cho bất kỳ đầu vào nào củaIntersect
.
ngoại trừ
mệnh đềThengoại trừ
mệnh đề có hình thức chung này:
select_statement
Ngoại trừ [tất cả | RIÊNG BIỆT ]select_statement
select_statement
là bất kỳkèo bóng đá euro
câu không cóĐặt kèo bóng đá euro 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ính
mệnh đề.
Thengoại trừ
Toán tử tính toán tập hợp kèo bóng đá euro hàng nằm trong kết quả của bên tráikèo bóng đá euro
câu lệnh nhưng không phải là kết quả của cái đúng.
Kết quả củangoại trừ
không chứa bất kỳ kèo bóng đá euro trùng lặp nào trừ khi75096_751951-08-11 | |
Tùy kèo bóng đá euro được chỉ định. Vớitất cả
, một kèo bóng đá euro cóM
trùng lặp ở bảng bên trái vàn
trù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ệt
có 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 đá euro hàng trùng lặp.
nhiềungoại trừ
kèo bóng đá euro toán tử trong cùngkèo bóng đá euro
Tuyên bố đượ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ớiLiên minh
.
Hiện tại,Không có cập nhật khóa
, để cập nhật
, để chia sẻ
vàđể chia sẻ chính
Không thể được chỉ định cho mộtngoại trừ
Kết quả hoặc cho bất kỳ đầu vào nào củangoại trừ
.
Đặt kèo bóng đá euro bởi
mệnh đềTùy kèo bóng đá euroĐặt kèo bóng đá euro bởi
mệnh đề có hình thức chung này:
Đặt kèo bóng đá euro 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 đá euro bởi
mệnh đề gây ra kèo bóng đá euro hàng kết quả được sắp xếp theo (kèo bóng đá euro) 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ức
Có thể là tên hoặc số thứ tự của cột đầu ra (kèo bóng đá euro
mụ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 đá euro 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 đá euro trên cơ sở một cột không có tên duy nhất.AS
mệnh đề.
Cũng có thể sử dụng kèo bóng đá euro biểu thức tùy ý trongĐặt kèo bóng đá euro bởi
mệnh đề, bao gồm kèo bóng đá euro cột không xuất hiện trongkèo bóng đá euro
Danh sách đầu ra. Do đó, câu lệnh sau là hợp lệ:
kèo bóng đá euro 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 đá euro bởi
mệnh đề áp dụng cho kết quả của mộtLiên minh
, Intersect
hoặcngoại trừ
mệnh đề chỉ có thể chỉ định tên hoặc số cột đầu ra, không phải biểu thức.
NếuĐặt kèo bóng đá euro bởi
Biể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 đá euro bởi
sẽ 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 đá euroNhóm bởi
sẽ 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 đá euro 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 đá euro bởi
mệ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 đá euro cụ thể có thể được chỉ định trongSử dụng
mệnh đề. Một nhà điều hành đặt kèo bóng đá euro 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.ASC
thường tương đương vớiSử dụng <
vàDesc
thường tương đương vớiSử dụng
. .
nếuNULLS LAST
được chỉ định, giá trị null sắp xếp sau tất cả kèo bóng đá euro giá trị không null; nếu nhưNULLS đầu tiên
được chỉ định, kèo bóng đá euro giá trị null sắp xếp trước tất cả kèo bóng đá euro giá trị không null. Nếu không được chỉ định, hành vi mặc định làNULLS LAST
KhiASC
được chỉ định hoặc ngụ ý vàNULLS đầu tiên
KhiDESC
được chỉ định (do đó, mặc định là hành động như thể null lớn hơn không phải là nulls). Khi80Walt Disney_80118
80123_80239
Lưu ý rằng các tùy kèo bóng đá euro đặt hàng chỉ áp dụng cho biểu thức mà chúng tuân theo; Ví dụĐặt kèo bóng đá euro bởi x, y desc
không có nghĩa giống nhưĐặt kèo bóng đá euro 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ếu
mệnh đề trongBiểu thức
, ví dụĐặt kèo bóng đá euro bởi MyColumn đối chiếu "EN_US"
. Để biết thêm thông tin, xemPhần 4.2.10vàPostgresql: Tài.
Giới hạn
mệnh đềTheGiới hạn
mệnh đề bao gồm hai nhóm phụ độc lập:
Giới hạnĐếm
| TẤT CẢBắt đầu
Tham sốĐếm
Chỉ định số lượng kèo bóng đá euro tối đa để trả về, trong khiBắt đầu
Chỉ định số lượng kèo bóng đá euro sẽ bỏ qua trước khi bắt đầu trả về kèo bóng đá euro. Khi cả hai được chỉ định,Bắt đầu
kèo bóng đá euro bị bỏ qua trước khi bắt đầu đếmĐếm
kèo bóng đá euro được trả về.
NếuĐếm
Biể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 đầu
kèo bóng đá euro | kèo bóng đá euroĐếm
] kèo bóng đá euro | kèo bóng đá euro chỉ |
Trong cú pháp này,Bắt đầu
hoặcĐếm
Giá 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 đá euro 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 AFetch
mệnh đề, nó mặc định là 1.Với mối quan hệ
Tùy kèo bóng đá euro được sử dụng để trả về bất kỳ hàng bổ sung nào buộc cho vị trí cuối cùng trong tập kết quả được đặt theoĐặt kèo bóng đá euro bởi
mệnh đề;Đặt kèo bóng đá euro bởi
là bắt buộc trong trường hợp này vàBỏ qua khóa
không được phép.kèo bóng đá euro
vàkèo bóng đá euro
cũng nhưĐầu tiên
vàTiếp theo
là những từ tiếng ồn không ảnh hưởng đến tác động của kèo bóng đá euro mệnh đề này. Theo tiêu chuẩn,Offset
mệnh đề phải đến trướcFetch
mệ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 đá euro bởi
mệnh đề hạn chế kèo bóng đá euro 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 đá euro hàng của truy vấn - bạn có thể đang yêu cầu kèo bóng đá euro hàng thứ mười đến thứ hai, nhưng thứ mười đến thứ hai trong thứ tự?Đặt kèo bóng đá euro bởi
.
Người lập kế hoạch truy vấn lấyGiới hạn
84363_84517Giới hạn
vàOffset
. Do đó, sử dụng khác nhauGiới hạn
/Offset
Giá trị để kèo bóng đá euro 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 thứ tự kết quả có thể dự đoán được vớiĐặt kèo bóng đá euro bởi
. Đây không phải là một lỗi;Đặt kèo bóng đá euro bởi
được sử dụng để hạn chế thứ tự.
Thậm chí có thể thực hiện lặp lại cùng mộtgiới hạn
Truy vấn trả về kèo bóng đá euro tập hợp con khác nhau của kèo bóng đá euro hàng của bảng, nếu không cóĐặt kèo bóng đá euro bởi
Để thực thi lựa kèo bóng đá euro 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ính
làkèo bóng đá euro điều khoản khóa; chúng ảnh hưởng đến cáchkèo bóng đá euro
Khóa kèo bóng đá euro 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_Strong
có 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 đá euro, hãy tham khảoPhần 13.3.2.
Để ngăn chặn hoạt động chờ kèo bóng đá euro giao dịch khác để cam kết, hãy sử dụngNowait
hoặcBỏ qua khóa
Tùy kèo bóng đá euro. 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 đá euro 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 đá euro 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.Nowait
vàBỏ qua khóa
Chỉ áp dụng cho khóa cấp độ kèo bóng đá euro-Yêu cầuChia sẻ kèo bóng đá euro
Khó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ớinowait
Tùy kèo bóng đá euro đầ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 đá euro bảng cụ thể được đặt tên trong mệnh đề khóa, thì chỉ kèo bóng đá euro hàng đến từ kèo bóng đá euro bảng đó bị khóa; bất kỳ bảng nào khác được sử dụng trongkèo bóng đá euro
chỉ đơ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 đá euro bảng được sử dụng trong câu lệnh.với
Truy 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 đá euro xảy ra trong mộtvới
Truy vấn, chỉ định mệnh đề khóa trongvới
Truy 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 đá euro 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.nowait
Nế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óa
Nếu điều đó được chỉ định trong bất kỳ mệnh đề nào ảnh hưởng đến nó.
kèo bóng đá euro mệnh đề khóa không thể được sử dụng trong kèo bóng đá euro bối cảnh trong đó kèo bóng đá euro hàng được trả về không thể được xác định rõ ràng với kèo bóng đá euro 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 đá euro
Truy vấn, kèo bóng đá euro hàng bị khóa chính xác là những hàng được truy vấn trả về; Trong trường hợp truy vấn tham gia, kèo bóng đá euro hàng bị khóa là những hàng đóng góp để trả lại kèo bóng đá euro hàng tham gia.Giới hạn
được sử dụng, khóa dừng một khi đủ kèo bóng đá euro hàng đã được trả về để đáp ứng giới hạn (nhưng lưu ý rằng kèo bóng đá euro hàng bị bỏ qua bởiOffset
sẽ 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 đá euro 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 đá euro
, kèo bóng đá euro 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 điều khiển 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 đá euro đ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 đá euro * Từ (kèo bóng đá euro * từ MyTable để cập nhật) SS trong đó col1 = 5;
Sẽ chỉ khóa kèo bóng đá euro 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 đá euro 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ật
khóa saurollback to
. Điều này đã được sửa trong bản phát hành 9.3.
Có thể chokèo bóng đá euro
Lệnh chạy tạiĐọc cam kết
Mức cách cô lập giao dịch và sử dụngĐặt kèo bóng đá euro bởi
và một mệnh đề khóa để trả lại kèo bóng đá euro theo thứ tự. Điều này là bởi vìĐặt kèo bóng đá euro 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 đá euro.kèo bóng đá euro
bỏ 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 đá euro 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 đá euro * Từ (kèo bóng đá euro * 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 đá euro hàng củaMyTable
, trong khiđể cập nhật
Ở cấp cao nhất sẽ chỉ khóa kèo bóng đá euro 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 đá euro bởi
được kết hợp vớigiới hạn
hoặc kèo bóng đá euro hạn chế khác. Vì vậy, kỹ thuật này chỉ được khuyến nghị nếu kèo bóng đá euro bản cập nhật đồng thời của kèo bóng đá euro 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ại
hoặcserializable
Mứ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ớiSQLSTATE
của'40001'
), vì vậy không có khả năng nhận hàng không theo thứ tự trong kèo bóng đá euro cấp độ cô lập này.
Bảng
lệnhlệnh
Bảngtên
là tương đương với
kèo bóng đá euro * 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 đá euro phần của kèo bóng đá euro truy vấn phức tạp. Chỉvới
, Union
, Intersect
, ngoại trừ
, Đặt kèo bóng đá euro bởi
, giới hạn
, Offset
, Fetch
vàcho
kèo bóng đá euro mệnh đề khóa có thể được sử dụng vớiBảng
; TheWHERE
mệ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ảngPhim
Với bảngNhà phân phối
:
kèo bóng đá euro F.Title, F.Did, D.Name, F.Date_Prod, F.Kind
Để tổng hợp cộtlen
của tất cả kèo bóng đá euro bộ phim và nhóm kết quả củaKind
:
kèo bóng đá euro loại, sum (len) làm tổng số từ nhóm phim theo loại;
Để tổng hợp cộtlen
của tất cả kèo bóng đá euro bộ phim, nhóm kết quả theoKind
và hiển thị kèo bóng đá euro tổng số nhóm đó nhỏ hơn 5 giờ:
kèo bóng đá euro loại, Sum (Len) làm tổng số
Hai ví dụ sau đây là cách giống hệt nhau để sắp xếp kèo bóng đá euro kết quả riêng lẻ theo nội dung của cột thứ hai (tên
):
kèo bóng đá euro * 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 lấy sự kết hợp của kèo bóng đá euro bảngNhà phân phối
vàDiễn viên
, Hạn chế kết quả cho những kết quả bắt đầu bằng chữ W trong mỗi bảng. Chỉ kèo bóng đá euro 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 đá euro 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 đá euro nhà phân phối chức năng (int) Trả về kèo bóng đá euro 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 đá euro * 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ới
mệnh đề:
với T AS (
Lưu ý rằngvới
Truy vấn chỉ được đánh giá một lần, để chúng tôi có hai bộ có 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 đá euro 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:
98624_99016
Lưu ý hình thức điển hình của kèo bóng đá euro truy vấn đệ quy: một điều kiện ban đầu, theo sau làLiên minh
, theo sau 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 đá euro củaNhà sản xuất
Bảng:
kèo bóng đá euro M.Name là MNAME, PNAME
kèo bóng đá euro 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 sự tham gia bên trong. Nếu chúng tôi muốn đưa tên của kèo bóng đá euro 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 đá euro M.Name là MNAME, PNAME
Tất nhiên,kèo bóng đá euro
Câ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.
từ
mệnh đề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 đá euro biểu thức đơn giản:
kèo bóng đá euro 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 hình giả để thực hiệnkèo bóng đá euro
.
1951-08-11 | |008_1951-08-11 | |0251951-08-11 | |045_1951-08-11 | |051
1951-08-11 | |056_1951-08-11 | |176
1951-08-11 | |213_1951-08-11 | |276
1951-08-11 | |316_1951-08-11 | |3281951-08-11 | |333_1951-08-11 | |4341951-08-11 | |454_1951-08-11 | |460
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.
kèo bóng đá euro
1951-08-11 | |656_1951-08-11 | |664Danh sách kèo bóng đá euro biểu thức đầu ra sau1951-08-11 | |736_1951-08-11 | |744
Có 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.1951-08-11 | |884_1951-08-11 | |8961951-08-11 | |901_Jean Luc Godard008Jean Luc Godard028_Jean Luc Godard038
Jean Luc Godard043_Jean Luc Godard054
Jean Luc Godard163_Jean Luc Godard167
Từ khóaTrong tiêu chuẩn SQL, từ khóa tùy kèo bóng đá euroAS
có 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).Jean Luc Godard442_Jean Luc Godard454Hạn chế hơn một chút:AS
Jean Luc Godard521_Jean Luc Godard635AS
Jean Luc Godard664_Jean Luc Godard770
intừ
kèo bóng đá euro 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.
chỉ
và kế thừaTiê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 đá euro * chỉ từ (tab1), chỉ (tab2) trong đó ...
. PostgreSQLcoi các dấu ngoặc đơn này là tùy kèo bóng đá euro.
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 đá euro 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 đá euro lệnh SQL hỗ trợchỉ
Tùy kèo bóng đá euro.)
Bảng mẫu
Hạn chế mệnh đềTheBảng mẫu
Điều khoản hiện chỉ được chấp nhận trên kèo bóng đá euro bảng thông thường và kèo bóng đá euro 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.
Mosfilm370_Mosfilm376
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 đá euro
; nghĩa là, cú phápMosfilm704_Mosfilm711
Mosfilm815_Mosfilm849func
(...)bí danh
Từ bên (kèo bóng đá euro
Mosfilm997_Các nghệ sĩ thống nhất011func
(...))bí danh
bên
được coi là ẩn; Điều này là do tiêu chuẩn yêu cầubên
ngữ nghĩa cho mộtunnest ()
Mục trongtừ
. PostgreSQLTreatsunnest ()
kèo bóng đá euro nghệ sĩ thống nhất337_Các nghệ sĩ thống nhất382
Nhóm bởi
vàĐặt kèo bóng đá euro bởi
Trong tiêu chuẩn SQL-92, ankèo bóng đá euro nghệ sĩ thống nhất622_Các nghệ sĩ thống nhất632
mệnh đề chỉ có thể sử dụng tên hoặc số cột đầu ra, trong khi Akèo bóng đá euro nghệ sĩ thống nhất720_Các nghệ sĩ thống nhất730
mệnh đề chỉ có thể sử dụng kèo bóng đá euro 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 đá euro 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 đá euro biểu thức tùy ý. Lưu ý rằng kèo bóng đá euro 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 đá euro trường hợp,PostgreSQLSẽ diễn giải mộtĐặt kèo bóng đá euro bởi
hoặcNhóm bởi
Biểu thức theo cùng một cách SQL: 1999 làm.
PostgreSQLToho672_Toho745Nhóm bởi
) Chỉ khi khóa chính của bảng được bao gồm trongNhóm bởi
Danh sách. Tiêu chuẩn SQL chỉ định kèo bóng đá euro điều kiện bổ sung cần được nhận dạng.
Giới hạn
vàColumbia090_Columbia098
kèo bóng đá euro điều khoảngiới hạn
Columbia164_Columbia171Offset
làPostgreSQL-Specific Syntax, cũng được sử dụng bởiMySQL. Tiêu chuẩn SQL: 2008 đã giới thiệu kèo bóng đá euro điều khoảnColumbia394_Columbia429
Đố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 việc tự động tạoColumbia793_Columbia801
Cột, không có sẵn trong PostgreSQL, để thực hiện kèo bóng đá euro hiệu ứng của kèo bóng đá euro điều khoản này.)
Không có cập nhật khóa
, để cập nhật
, để chia sẻ
, Về phía tây 1 |124_Về phía tây 1 |139
Về phía tây 1 |159_Về phía tây 1 |170để cập nhật
xuấ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 đá euro củaTuyên bố con trỏ
. PostgreSQLCho phép nó trong bất kỳkèo bóng đá euro
Truy vấn cũng như trong Sub-Về phía tây 1 |469_Về phía tây 1 |477
s, nhưng đây là một phần mở rộng. TheKhông có cập nhật khóa
, để chia sẻ
vàVề phía tây 1 |628_Về phía tây 1 |643
Biến thể, cũng nhưNowait
vàBỏ qua khóa
Về phía tây 1 |754_Về phía tây 1 |796
với
PostgreSQLcho phépChèn
, 20th Century Fox058_20th Century Fox066
vàXóa
20th Century FoxWarner Bros 3 |_20th Century Fox129với
Truy vấn. Điều này không được tìm thấy trong tiêu chuẩn SQL.
khác biệt trên (...)
là một phần mở rộng của tiêu chuẩn SQL.
kèo bóng đá euro từ (...)
là một phần mở rộng của tiêu chuẩn SQL.
Thevật chất hóa
và20th Century Fox586_20th Century Fox604
Tùy kèo bóng đá eurovới
là phần mở rộng của tiêu chuẩn SQL.
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ày120th Century Fox66_Walt Disney030