Postgresql | ||||
---|---|---|---|---|
Prev | Backward nhanh | Chương 4. SQL | Chuyển tiếp nhanh | Tiếp theo |
Biểu kèo bóng đá c1 giá trị được sử dụng trong nhiều bối cảnh khác nhau, chẳng hạn nhưChọnlệnh, dưới dạng giá trị cột mới trongChènhoặcCập nhậthoặc trong các điều kiện tìm kiếm trong avô hướng, để phân biệt nó vớivô hướng(hoặc thậm chí chỉ đơn giản làBiểu kèo bóng đá c1). Cú pháp biểu kèo bóng đá c1 cho phép
Một biểu kèo bóng đá c1 giá trị là một trong những điều sau đây:
kèo bóng đá c1 giá trị không đổi hoặc nghĩa đen.
tham chiếu cột.
Tham chiếu tham số vị trí, trong phần thân của A
Một biểu kèo bóng đá c1 được đăng ký.
Biểu kèo bóng đá c1 lựa chọn trường.
kèo bóng đá c1 người vận hành.
kèo bóng đá c1 cuộc gọi chức năng.
biểu kèo bóng đá c1 tổng hợp.
kèo bóng đá c1 loại đúc.
Subquery.
Trình xây dựng mảng.
Trình xây dựng hàng.
Một biểu kèo bóng đá c1 giá trị khác trong ngoặc đơn, hữu ích cho nhóm
Ngoài danh sách này, còn có kèo bóng đá c1 số cấu trúcChương 9. kèo bóng đá c1 ví dụ làlà nullmệnh đề.
Chúng tôi đã thảo luận về hằng số trongPhần 4.1.2.
kèo bóng đá c1 cột có thể được tham chiếu dưới dạng
Tương quan.CộtName
Tương quanlà tên của kèo bóng đá c1từmệnh đề hoặc kèo bóng đá c1 trong các từ khóamớihoặccũ. (mớivàcũChỉ có thể xuất hiện trong các quy tắc viết lại,Chương 7.)
Tham chiếu tham số vị trí được sử dụng để chỉ ra kèo bóng đá c1 giá trị
$Số
Ví dụ: xem xét định nghĩa của kèo bóng đá c1 hàm,Dept
, như
Tạo chức năng Dept (văn bản) Trả về Dept
ở đây$ 1Tài liệu tham khảo giá trị của
Nếu một biểu kèo bóng đá c1 mang lại giá trị của một loại mảng, thì a
Biểu kèo bóng đá c1[Đăng ký]
hoặc nhiều phần tử liền kề (AN"Mảng) có thể được trích xuất bằng cách viết
Biểu kèo bóng đá c1[Lower_SubScript:Upper_subscript]
(ở đây, dấu ngoặc[]có nghĩa làĐăng kýbản thân nó là một biểu kèo bóng đá c1, mà
Nói chung là mảngBiểu kèo bóng đá c1phải được đặt dấu ngoặc đơn, nhưng
MyTable.ArrayColumn [4]
dấu ngoặc đơn trong ví dụ cuối cùng được yêu cầu. Nhìn thấyPhần 8.10Để biết thêm về
Nếu biểu kèo bóng đá c1 mang lại giá trị của loại tổng hợp (hàng
Biểu kèo bóng đá c1.FieldName
Nói chung hàngBiểu kèo bóng đá c1phải được đặt dấu ngoặc đơn, nhưng
MyTable.MyColumn
(do đó, tham chiếu cột đủ điều kiện thực sự chỉ là kèo bóng đá c1
Có ba cú pháp có thể cho người vận hành
Biểu kèo bóng đá c1 Nhà điều hành Biểu kèo bóng đá c1(nhị phân nhị phân |
Nhà điều hành Biểu kèo bóng đá c1(Tiền tố Unary |
Biểu kèo bóng đá c1 Nhà điều hành(Unary Postfix |
Nhà điều hành (lược đồ.OperatorName)
Những người vận hành cụ thể tồn tại và liệu chúng có phải là UnaryChương 9Mô tả các toán tử tích hợp.
Cú pháp cho cuộc gọi chức năng là tên của kèo bóng đá c1 hàm
chức năng([Biểu kèo bóng đá c1[, Biểu kèo bóng đá c1...]])
Ví dụ: sau đây tính toán căn bậc hai của
sqrt (2)
Danh sách các chức năng tích hợp trongChương 9. Các chức năng khác có thể được thêm vào bởi
ANBiểu kèo bóng đá c1 tổng hợpđại diện
Tổng hợp_name(Biểu kèo bóng đá c1[, ...])tổng hợp_name(tất cảBiểu kèo bóng đá c1[, ...])tổng hợp_name(khác biệtBiểu kèo bóng đá c1[, ...])Tổng hợp_name( *)
WHEREtổng hợp_namelà aBiểu kèo bóng đá c1là bất kỳ
Hình kèo bóng đá c1 đầu tiên của biểu kèo bóng đá c1 tổng hợp gọi tổng hợptất cảlà mặc định. Mẫu thứ baCount (*)
Hàm tổng hợp.
Ví dụ,Count (*)mang lạiCount (f1)mang lại số lượng hàng đầu vào trong đóF1không phải là null;Count (khác biệt F1)mang lại số lượng khác biệtF1.
Các hàm tổng hợp được xác định trước được mô tả trongPhần 9.15. Tổng hợp khác
Một biểu kèo bóng đá c1 tổng hợp chỉ có thể xuất hiện trong danh sách kết quảcómệnh đề AChọnLệnh. Nó bị cấm trong những người khácWHERE, bởi vì những người đó
Khi một biểu kèo bóng đá c1 tổng hợp xuất hiện trong một truy vấn con (xemPhầnvàPhần), tổng hợp thường được đánh giá trên các hàng củacóĐiều khoản áp dụng với
Lưu ý: PostgreSQLHiện không hỗ trợkhác biệtVới nhiều đầu vào
kèo bóng đá c1 loại diễn viên chỉ định chuyển đổi từ kèo bóng đá c1 loại dữ liệu thànhPostgreSQLChấp nhận
cast (Biểu kèo bóng đá c1ASloại)expression::loại
TheCastCú pháp phù hợp với SQL;::là lịch sửPostgreSQLsử dụng.
Khi một diễn viên được áp dụng cho biểu kèo bóng đá c1 giá trị của mộtPhần. kèo bóng đá c1 diễn viên được áp dụng cho kèo bóng đá c1 chuỗi không được trang trí theo nghĩa đen
kèo bóng đá c1 loại diễn viên rõ ràng thường có thể bị bỏ qua nếu không có"OK để áp dụng ngầm"in
cũng có thể chỉ định kèo bóng đá c1 loại đúc bằng cách sử dụng
typename(Biểu kèo bóng đá c1)
Tuy nhiên, điều này chỉ hoạt động cho các loại có tên cũngDouble PrecisionKhông thể sử dụng theo cách này, nhưngfloat8Có thể. Ngoài ra, tênKhoảng, Thời gianvàDấu thời gianCó thể"Cú pháp giống như chức năng"không gì khác hơn là kèo bóng đá c1
27821_27856ChọnTruy vấn trong ngoặc đơn trả về chính xácChươngĐể biết thông tin về các truy vấn viết.)ChọnTruy vấn được thực thi và phần trả lại đơn lẻPhần 9.16cho
Ví dụ, sau đây tìm thấy dân số thành phố lớn nhất
Chọn tên, (chọn tối đa (pop) từ các thành phố nơi các thành phố.state = states.name)
Trình xây dựng mảng là một biểu kèo bóng đá c1 xây dựng một mảngmảng, khung vuông bên trái[, một hoặc nhiều biểu kèo bóng đá c1 (cách nhau bởi dấu phẩy)]. Ví dụ,
chọn Mảng [1,2,3+4];
Loại phần tử mảng là loại phổ biến của thành viênUnionhoặccaseCấu trúc (xemPhần).
Giá trị mảng đa chiều có thể được xây dựng bằng cách làm tổmảngCó thể bị bỏ qua. Ví dụ,
chọn mảng [mảng [1,2], mảng [3,4]];
Vì các mảng đa chiều phải là hình chữ nhật, bên trong
Các yếu tố xây dựng mảng đa chiều có thể là bất cứ điều gìmảngXây dựng. Ví dụ:
Tạo bảng ARR (f1 int [], f2 int []);
cũng có thể xây dựng kèo bóng đá c1 mảng từ kết quảmảngtheo sau là a
chọn mảng (chọn oid từ pg_proc trong đó đại từ như 'bytea%');
Trình điều khiển con phải trả về kèo bóng đá c1 cột duy nhất. Kết quả
Các chỉ số của kèo bóng đá c1 giá trị mảng được xây dựng vớimảngLuôn bắt đầu bằng kèo bóng đá c1. Để biết thêmPhần.
Trình xây dựng hàng là một biểu kèo bóng đá c1 xây dựng giá trị hànghàng, dấu ngoặc trái, không hoặc nhiều hơn
Chọn hàng (1,2,5, 'Đây là kèo bóng đá c1 bài kiểm tra');
Từ khóahànglà tùy chọn khi nào
Trình xây dựng hàng có thể bao gồm cú phápRowValue.*,,.*Cú pháp được sử dụng ở cấp cao nhất của AChọnDanh sách. Ví dụ: nếu bảngTCó cộtF1vàF2, những thứ này giống nhau:
Chọn hàng (t.*, 42) từ t;
Lưu ý:trướcPOSTGRESQL8.2,.*Cú pháp không được mở rộng, để viếthàng (t.*, 42)Tạo hai trường.*, ví dụhàng (t, 42).
Theo mặc định, giá trị được tạo bởi AhàngBiểu kèo bóng đá c1 thuộc loại bản ghi ẩn danh.Tạo loại dưới dạng. kèo bóng đá c1 diễn viên rõ ràng có thể
Tạo bảng mytable (f1 int, f2 float, văn bản F3);
Trình xây dựng hàng có thể được sử dụng để xây dựng các giá trị tổng hợplà nullhoặckhôngVí dụ
Chọn hàng (1,2,5, 'Đây là kèo bóng đá c1 bài kiểm tra') = hàng (1, 3, 'không giống nhau');
Để biết thêm chi tiết, xemPhần 9.17. Người xây dựng hàngPhần 9.16.
Thứ tự đánh giá các kèo bóng đá c1 hiện phụ không được xác định. TRONG
Hơn nữa, nếu kết quả của một biểu kèo bóng đá c1 có thể là
Chọn True hoặc SOMEFUNC ();
sau đóSOMEFUNC ()sẽ (có thể)
Chọn Somoundunc () hoặc true;
Lưu ý rằng điều này không giống như từ trái sang phải"Ngừng ngắn mạch"của Boolean
Do đó, việc sử dụng các chức năng với bên là không khôn ngoanWHEREvàcómệnh đề, vì các điều khoản đó làvà/hoặc/khôngkết hợp) trong các mệnh đề đó có thể
Khi nó cần thiết để buộc lệnh đánh giá, AcaseXây dựng (xemPhần 9.13) có thể được sử dụng. VìWHEREmệnh đề:
Chọn ... trong đó x < 0 và y/x 1.5;
Nhưng điều này là an toàn:
Chọn ... Trường hợp trường hợp khi x < 0 sau đó y/x 1.5 khác kết thúc sai;
AcaseXây dựng được sử dụng trong nàyy 1.5*xthay vào đó.)