kèo bóng đá pháp [Tất cả | Khác biệt [trên (expression[, ...])]]]Biểu thức[AStên] [, ...] [Vào [tạm thời | TEMP] [Bảng]new_table] [ TỪBảng[bí danh] [, ...]] [ Ở ĐÂUđiều kiện] [Nhóm bởiCột[, ...]] [Cóđiều kiện[, ...]] [Liên minh [tất cả] | Giao nhau | NGOẠI TRỪkèo bóng đá pháp] [Đặt kèo bóng đá pháp bởicột[ASC | Desc | Sử dụngNhà điều hành] [, ...]] [Để cập nhật [củaclass_name[, ...]]]]] GIỚI HẠNĐếm| Tất cả [offset | ,Bắt đầu]
Tên của cột của bảng hoặc biểu thức.
Chỉ định tên khác cho cột hoặc biểu thức Sử dụng mệnh đề AS. Tên này chủ yếu được sử dụng để dán nhãn cột để hiển thị. Nó cũng có thể được sử dụng để tham khảo Giá trị của cột theo thứ tự và nhóm theo mệnh đề. Nhưngtênkhông thể được sử dụng trong Ở đâu hoặc có mệnh đề; viết ra biểu thức thay vì.
Nếu tạm thời hoặc tạm thời được chỉ định, bảng được tạo duy nhất cho phiên này và được tự động bỏ Thoát phiên.
Nếu mệnh đề bảng vào được chỉ định, kết quả của Truy vấn sẽ được lưu trữ trong một bảng mới với chỉ định tên. Bảng đích (new_table) sẽ được tạo tự động và không được tồn tại trước lệnh này. Tham khảo ĐẾNkèo bóng đá pháp vàoĐể biết thêm thông tin.
Lưu ý:TheTạo bảng BẰNGCâu lệnh cũng sẽ tạo một bảng mới từ A kèo bóng đá pháp truy vấn.
Tên của một bảng hiện có được tham chiếu bởi từ mệnh đề.
một tên thay thế cho trướcBảng. Nó được sử dụng cho sự ngắn gọn hoặc Loại bỏ sự mơ hồ cho kèo bóng đá pháp lần nối trong một bảng.
Một biểu thức boolean cho kết quả đúng hoặc sai. Xem mệnh đề WHERE.
Tên của cột của bảng.
Một câu lệnh kèo bóng đá pháp với tất cả các tính năng ngoại trừ thứ tự của và giới hạn mệnh đề.
Bộ hoàn chỉnh từ truy vấn Đặc điểm kỹ thuật.
Số lượng kèo bóng đá pháp được trả về bởi truy vấn.
kèo bóng đá phápsẽ trả lại hàng từ một hoặc nhiều bảng hơn. Các ứng cử viên để lựa kèo bóng đá pháp là những hàng thỏa mãn Nơi điều kiện; Nếu nơi được bỏ qua, tất cả các hàng là ứng cử viên. (Nhìn thấyỞ đâu Mệnh đề.)
khác biệtsẽ loại bỏ các kèo bóng đá pháp trùng lặp từ kết quả.tất cả(mặc định) sẽ Trả lại tất cả các kèo bóng đá pháp ứng cử viên, bao gồm cả bản sao.
khác biệt trênloại bỏ các kèo bóng đá pháp phù hợp Trên tất cả các biểu thức được chỉ định, chỉ giữ kèo bóng đá pháp đầu tiên của mỗi bộ trùng lặp. Sự khác biệt về biểu thức là giải thích bằng cách sử dụng các quy tắc tương tự như đối với đơn đặt kèo bóng đá pháp theo các mục; nhìn thấy dưới. 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ụ,
10542_10676Lấ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 trật tự bằng cách buộc Descended Dreates of Time kèo bóng đá pháp giá trị cho mỗi vị trí, chúng tôi đã nhận được một báo cáo về tuổi không thể đoán trước cho từng địa điểm.
Điều khoản theo nhóm cho phép người dùng chia bảng thành Các nhóm kèo bóng đá pháp khớp với một hoặc nhiều giá trị. (Nhìn thấyNhóm theo điều khoản.)
Điều khoản có chỉ cho phép lựa kèo bóng đá pháp các nhóm đó Hàng gặp điều kiện quy định. (Nhìn thấyCó mệnh đề.)
Đơn kèo bóng đá pháp theo mệnh đề khiến các kèo bóng đá pháp được trả lại được sắp xếp trong a Đơn kèo bóng đá pháp được chỉ định. Nếu không được đặt kèo bóng đá pháp, các kèo bóng đá pháp được trả về Trong bất kỳ thứ tự nào, hệ thống tìm thấy rẻ nhất để sản xuất. (Nhìn thấyĐặt kèo bóng đá pháp bởi Mệnh đề.)
Nhà điều hành Liên minh cho phép kết quả là bộ sưu tập của kèo bóng đá pháp được trả lại bởi các truy vấn liên quan. (Nhìn thấymệnh đề Union.)
toán tử giao nhau cung cấp cho bạn các kèo bóng đá pháp phổ biến Cả hai truy vấn. (Nhìn thấymệnh đề giao nhau.)
Toán tử ngoại trừ cung cấp cho bạn các kèo bóng đá pháp được trả về bởi cái đầu tiên Truy vấn nhưng không phải là truy vấn thứ hai. (Nhìn thấyngoại trừ mệnh đề.)
Điều khoản cập nhật cho phép câu lệnh kèo bóng đá pháp khóa độc quyền của các hàng đã kèo bóng đá pháp.
mệnh đề giới hạn cho phép một tập hợp con của các kèo bóng đá pháp được tạo bởi truy vấn sẽ được trả lại cho người dùng. (Nhìn thấyĐiều khoản giới hạn.)
Bạn phải kèo bóng đá pháp đặc quyền vào bảng để đọc các giá trị của nó (XemGrant/thu hồicâu lệnh).
Tùy kèo bóng đá pháp nơi điều kiện có dạng chung:
WHEREboolean_exprboolean_exprcó thể bao gồm Bất kỳ biểu thức đánh giá giá trị boolean. Trong nhiều trường hợp, Biểu thức này sẽ là
expr cond_op exprhoặc
log_op exprWHEREcond_opCó thể là một trong số: =, <, <=,, = hoặc <, một toán tử có điều kiện Giống như tất cả, bất kỳ, trong, như hoặc một toán tử được xác định tại địa phương vàlog_opCó thể là một trong những: và, hoặc, không. kèo bóng đá pháp sẽ bỏ qua tất cả các hàng mà điều kiện không trả về đúng.
Nhóm bằng cách chỉ định một bảng được nhóm có nguồn gốc từ Ứng dụng của mệnh đề này:
Nhóm bởiCột[, ...]
Nhóm theo ý muốn ngưng tụ thành một hàng tất cả các hàng được kèo bóng đá pháp chia sẻ các giá trị tương tự cho các cột được nhóm. Tổng hợp các chức năng, nếu có, được tính toán trên tất cả các hàng tạo ra từng nhóm, tạo ra một giá trị riêng cho mỗi nhóm (trong khi Không có nhóm theo, một tổng hợp tạo ra một giá trị duy nhất được tính toán Trên tất cả các hàng đã kèo bóng đá pháp). Khi nhóm theo hiện tại, nó là không hợp lệ cho (các) biểu thức đầu ra để tham khảo Các cột không nhóm ngoại trừ trong các chức năng tổng hợp, vì sẽ có nhiều hơn một giá trị có thể để trả lại cho một cột chưa được nhóm.
Một mục trong nhóm cũng có thể là tên hoặc số thứ tự của một cột đầu ra (kèo bóng đá pháp biểu thức) hoặc nó có thể là một Biểu thức tùy ý được hình thành từ các giá trị cột đầu vào. Trong trường hợp của sự mơ hồ, một nhóm theo tên sẽ được hiểu là một Tên cột đầu vào thay vì tên cột đầu ra.
Điều kiện có tùy kèo bóng đá pháp có dạng chung:
cócond_exprWHEREcond_exprlà như nhau như được chỉ định cho mệnh đề WHERE.
Có chỉ định một bảng được nhóm có nguồn gốc từ việc loại bỏ của các kèo bóng đá pháp nhóm không thỏa mãncond_expr. Có khác với Ở đâu: Nơi lọc các kèo bóng đá pháp riêng lẻ trước khi áp dụng Nhóm theo, trong khi có các bộ lọc các kèo bóng đá pháp nhóm được tạo bởi nhóm QUA.
mỗi cột được tham chiếu trongcond_exprsẽ tham khảo rõ ràng A cột nhóm, trừ khi tham chiếu xuất hiện trong một Hàm tổng hợp.
Đặt kèo bóng đá pháp bởiCột[ASC | Desc] [, ...]
Cộtcó thể là một Tên cột kết quả hoặc một số thứ tự.
Các số thứ tự đề cập đến thứ tự (từ trái sang phải) Vị trí của cột kết quả. Tính năng này làm cho nó có thể để xác định một đơn đặt kèo bóng đá pháp trên cơ sở một cột không có một tên thích hợp. Điều này không bao giờ là hoàn toàn cần thiết bởi vì luôn có thể gán tên cho cột kết quả bằng cách sử dụng mệnh đề AS, ví dụ:
kèo bóng đá pháp Tiêu đề, Date_Prod + 1 là Newlen từ Order Films của Newlen;
cũng có thể đặt hàng theo các biểu thức tùy ý (một mở rộng cho SQL92), bao gồm các trường không xuất hiện trong kèo bóng đá pháp Danh sách kết quả. Do đó, tuyên bố sau là hợp pháp:
kèo bóng đá pháp tên từ đơn đặt hàng của nhà phân phối theo mã;Lưu ý rằng nếu đơn đặt hàng theo mục là một tên đơn giản phù hợp cả tên cột kết quả và tên cột đầu vào, đặt hàng theo ý muốn Giải thích nó là tên cột kết quả. Điều này trái ngược với Lựa kèo bóng đá pháp nhóm đó sẽ thực hiện trong tình huống tương tự. Cái này Sự không nhất quán được bắt buộc bởi tiêu chuẩn SQL92.
Tùy kèo bóng đá pháp người ta có thể thêm từ khóa Desc (giảm dần) hoặc ASC (tăng dần) sau mỗi tên cột theo thứ tự theo mệnh đề. Nếu như Không được chỉ định, ASC được giả định theo mặc định. Ngoài ra, a Tên toán tử đặt hàng cụ thể có thể được chỉ định. ASC là tương đương với việc sử dụng '<' và desc tương đương với việc sử dụng ''.
Table_QueryUnion [all]Table_Query[đặt kèo bóng đá pháp bởiCột[ASC | Desc] [, ...]]WHERETable_QueryChỉ định bất kỳ biểu thức kèo bóng đá pháp nào không có mệnh đề hoặc giới hạn đặt hàng.
Nhà điều hành Liên minh cho phép kết quả là bộ sưu tập của Hàng được trả lại bởi các truy vấn liên quan. Hai lựa kèo bóng đá pháp điều đó đại diện cho các toán hạng trực tiếp của Liên minh phải sản xuất cùng một số cột và các cột tương ứng phải có Kiểu dữ liệu tương thích.
Theo mặc định, kết quả của sự kết hợp không chứa bất kỳ Các kèo bóng đá pháp trùng lặp trừ khi tất cả mệnh đề được chỉ định.
nhiều toán tử liên minh trong cùng một câu lệnh kèo bóng đá pháp là đánh giá từ trái sang phải. Lưu ý rằng tất cả các từ khóa không toàn cầu trong tự nhiên, chỉ được áp dụng cho cặp hiện tại của Kết quả bảng.
Table_QueryIntersectTable_Query[đặt kèo bóng đá pháp bởiCột[ASC | Desc] [, ...]]WHERETable_QueryChỉ định bất kỳ biểu thức kèo bóng đá pháp nào không có mệnh đề hoặc giới hạn đặt hàng.
toán tử giao nhau cung cấp cho bạn các hàng phổ biến Cả hai truy vấn. Hai lựa kèo bóng đá pháp đại diện cho trực tiếp Các toán hạng của giao nhau phải tạo ra cùng một số lượng Các cột và các cột tương ứng phải là dữ liệu tương thích các loại.
nhiều toán tử giao nhau trong cùng một câu lệnh kèo bóng đá pháp được đánh giá từ trái sang phải, trừ khi dấu ngoặc đơn ra lệnh nếu không thì.
Table_Queryngoại trừTable_Query[đặt kèo bóng đá pháp bởiCột[ASC | Desc] [, ...]]WHERETable_QueryChỉ định bất kỳ biểu thức kèo bóng đá pháp nào không có mệnh đề hoặc giới hạn đặt hàng.
toán tử ngoại trừ cung cấp cho bạn các hàng được trả về bởi cái đầu tiên Truy vấn nhưng không phải là truy vấn thứ hai. Hai lựa kèo bóng đá pháp đại diện cho Các toán hạng trực tiếp của ngoại trừ phải tạo ra cùng một số của các cột và các cột tương ứng phải tương thích Kiểu dữ liệu.
Nhiều toán tử trừ trong cùng một câu lệnh kèo bóng đá pháp là được đánh giá từ trái sang phải, trừ khi dấu ngoặc đơn ra lệnh nếu không thì.
Giới hạnĐếm| Tất cả [offset | ,Bắt đầu] BÙ LẠIBắt đầuWHEREĐếmChỉ định Số lượng kèo bóng đá pháp tối đa để trả về vàBắ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.
Giới hạn cho phép bạn lấy chỉ một phần của các kèo bóng đá pháp mà được tạo ra bởi phần còn lại của truy vấn. Nếu số lượng giới hạn là đã cho, không nhiều hơn rằng nhiều kèo bóng đá pháp sẽ được trả lại. Nếu một Offset được đưa ra, rằng nhiều kèo bóng đá pháp sẽ bị bỏ qua trước khi bắt đầu để trả lại kèo bóng đá pháp.
Khi sử dụng giới hạn, bạn nên sử dụng một đơn đặt kèo bóng đá pháp bằng cách mệnh đề hạn chế các kèo bóng đá pháp 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 truy vấn kèo bóng đá pháp --- bạn có thể đang yêu cầu thứ mười đến thứ hai mươi kèo bóng đá pháp, nhưng thứ mười đến thứ hai mươi theo thứ tự? Bạn không Biết đặt kèo bóng đá pháp nào, trừ khi bạn chỉ định đặt kèo bóng đá pháp theo.
kể từPostgres7.0, The Trình tối ưu hóa truy vấn tính đến giới hạn khi tạo Kế hoạch truy vấn, vì vậy bạn rất có khả năng nhận được các kế hoạch khác nhau (mang lại các đơn đặt hàng hàng khác nhau) Tùy thuộc vào những gì bạn đưa ra Giới hạn và bù đắp. Do đó, sử dụng các giá trị giới hạn/bù khác nhau để 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 một kết quả dự đoán đặt kèo bóng đá pháp với trật tự bởi. Đây là không phải là một lỗi; Đó là một hậu quả vốn có của thực tế là SQL không hứa sẽ cung cấp kết quả của một truy vấn trong bất kỳ thứ tự cụ thể trừ khi đặt kèo bóng đá pháp theo được sử dụng để hạn chế đặt kèo bóng đá pháp.
Để tham gia bảngPhimvới bànNhà phân phối:
kèo bóng đá pháp F.Title, F.Did, D.Name, F.Date_Prod, F.Kind Từ các nhà phân phối D, phim f WHERE F.DID = D.DID Tiêu đề | đã làm | Tên | date_prod | loại -------------------------------+-----+------------------+------------+-------------- Người thứ ba | 101 | Sư tử Anh | 1949-12-23 | Kịch Nữ hoàng châu Phi | 101 | Sư tử Anh | 1951-08-11 | Lãng mạn Une femme est une femme | 102 | Jean Luc Godard | 1961-03-12 | Lãng mạn Vertigo | 103 | Tối quan trọng | 1958-11-14 | Hoạt động Becket | 103 | Tối quan trọng | 1964-02-03 | Kịch 48 giờ | 103 | Tối quan trọng | 1982-10-22 | Hoạt động Chiến tranh và Hòa bình | 104 | Mosfilm | 1967-02-12 | Kịch Câu chuyện phía Tây | 105 | Nghệ sĩ thống nhất | 1961-01-03 | Âm nhạc Chuối | 105 | Nghệ sĩ thống nhất | 1971-07-13 | Hài kịch Yojimbo | 106 | Toho | 1961-06-16 | Kịch Có một cô gái trong súp của tôi | 107 | Columbia | 1970-06-11 | Hài kịch Tài xế taxi | 107 | Columbia | 1975-05-15 | Hoạt động Không có ác ý | 107 | Columbia | 1981-11-15 | Hoạt động Storia di una donna | 108 | Về phía tây | 1970-08-15 | Lãng mạn Nhà vua và tôi | 109 | 20th Century Fox | 1956-08-11 | Âm nhạc DAS Boot | 110 | Bavaria Atelier | 1981-11-11 | Kịch Núm giường và chổi | 111 | Walt Disney | | Âm nhạc (17 hàng)
Để tổng hợp cộtlencủa tất cả kèo bóng đá pháp bộ phim và nhóm kết quả bởiKind:
kèo bóng đá pháp loại, sum (len) làm tổng số từ nhóm phim theo loại; tử tế | tổng cộng ----------+------- Hành động | 07:34 Hài kịch | 02:58 Kịch | 14:28 Âm nhạc | 06:42 Lãng mạn | 04:38 (5 hàng)
Để tổng hợp cộtlencủa tất cả kèo bóng đá pháp bộ phim, Nhóm kết quả bởiKindvà hiển thị chúng Tổng số nhóm nhỏ hơn 5 giờ:
kèo bóng đá pháp loại, sum (len) làm tổng số Từ phim Theo nhóm Có tổng (len) <khoảng '5 giờ'; tử tế | tổng cộng ----------+------- Hài kịch | 02:58 Lãng mạn | 04:38 (2 hàng)
Hai ví dụ sau đây là cách giống hệt nhau để sắp xếp Kết quả cá nhân 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; kèo bóng đá pháp * từ đơn đặt hàng của nhà phân phối bằng 2; đã làm | tên -----+---------------------- 109 | 20th Century Fox 110 | Bavaria Atelier 101 | Sư tử Anh 107 | Columbia 102 | Jean Luc Godard 113 | Phim Luso 104 | Mosfilm 103 | Tối quan trọng 106 | Toho 105 | Các nghệ sĩ thống nhất 111 | Walt Disney 112 | Warner Bros. 108 | Về phía tây (13 hàng)
Ví dụ này 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 các kết quả Bắt đầu với chữ W trong mỗi bảng. Chỉ những kèo bóng đá pháp khác nhau được muốn, Vì vậy, tất cả các từ khóa bị bỏ qua:
Nhà phân phối: Các diễn viên: đã làm | Tên ID | tên -----+-------------- ----+-------------------- 108 | Về phía tây 1 | Woody Allen 111 | Walt Disney 2 | Warren Beatty 112 | Warner Bros 3 | Walter Matthau ... ... kèo bóng đá pháp Nhà phân phối.Name Từ các nhà phân phối Nơi các nhà phân phối.name thích 'w%' Liên minh kèo bóng đá pháp diễn viên.Name Từ các diễn viên Nơi các diễn viên.name thích 'w%' tên ---------------- Walt Disney Walter Matthau Warner Bros. Warren Beatty Về phía tây Woody Allen
PostgresCho phép người ta bỏ qua Thetừmệnh đề từ một truy vấn. Cái này Tính năng được giữ lại từ truy vấn postquel gốc ngôn ngữ:
kèo bóng đá pháp nhà phân phối.* WHERE name = 'Westwood'; đã làm | tên -----+---------- 108 | Về phía tây
trongSQL92Tiêu chuẩn, The Từ khóa tùy kèo bóng đá pháp "AS" chỉ là tiếng ồn và có thể bị bỏ qua mà không ảnh hưởng đến ý nghĩa. ThePostgrestrình phân tích cú pháp yêu cầu từ khóa này Khi đổi tên kèo bóng đá pháp cột vì kèo bóng đá pháp tính năng mở rộng loại dẫn đến sự mơ hồ phân tích cú pháp trong bối cảnh này.
Cụm từ khác nhau không phải là một phần củaSQL92. Cũng không giới hạn và bù.
inSQL92, Đơn kèo bóng đá pháp theo mệnh đề chỉ có thể sử dụng tên hoặc số cột kết quả, trong khi một nhóm bởi mệnh đề chỉ có thể sử dụng tên cột đầu vào.PostgresMở 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 tiêu chuẩn giải thích nếu có sự mơ hồ).PostgresCũng cho phép cả hai điều khoản Chỉ định kèo bóng đá pháp biểu thức tùy ý. Lưu ý rằng tên xuất hiện trong một biểu thức sẽ luôn được lấy làm tên cột đầu vào, không Tên kết quả là tên cột.
TheSQL92Cú pháp cho Liên minh Cho phép một điều khoản tương ứng bổ sung:
Table_QueryLiên minh [Tất cả] [Tương ứng [bởi (Cột[, ...])]]]Table_Query
Điều khoản tương ứng không được hỗ trợ bởiPostgres.