?
This document uses PHP Chinese website manual Release
可以在查詢中使用由VALUES生成的"常數(shù)表",而無需在磁盤上實(shí)際創(chuàng)建這個(gè)表。語法如下:
VALUES ( expression [, ...] ) [, ...]
每個(gè)括號(hào)中的表達(dá)式列表生成表中的一行。每個(gè)列表中的項(xiàng)數(shù)(也就是字段數(shù))必須相等,并且對(duì)應(yīng)的數(shù)據(jù)類型必須兼容。 最終表中每個(gè)字段的數(shù)據(jù)類型將使用與UNION(參見Section 10.5)相同的規(guī)則確定。
例如:
VALUES (1, 'one'), (2, 'two'), (3, 'three');
將得到2列和3行的表。并且與下面的語句等價(jià):
SELECT 1 AS column1, 'one' AS column2 UNION ALL SELECT 2, 'two' UNION ALL SELECT 3, 'three';
PostgreSQL默認(rèn)將VALUES所得到的表中各字段分別命名為column1,column2等等。SQL標(biāo)準(zhǔn)并未規(guī)定此種情況下的字段名命名規(guī)范,不同的數(shù)據(jù)庫系統(tǒng)對(duì)此 的處理也各不相同,所以最好明確指定字段的名字。
語法上,帶有表達(dá)式列表的VALUES和下面的語句等價(jià):
SELECT select_list FROM table_expression
并且可以出現(xiàn)在任何SELECT可以出現(xiàn)的地方。例如,你可以把它用于UNION的一側(cè), 或者在其上附加一個(gè)sort_specification(ORDER BY,LIMIT和/或OFFSET)。VALUES通常用作INSERT命令的數(shù)據(jù)源或者子查詢。
查閱VALUES獲取更多信息.