ok
Direktori : /opt/alt/postgresql11/usr/share/doc/alt-postgresql11-9.2.24/html/ |
Current File : //opt/alt/postgresql11/usr/share/doc/alt-postgresql11-9.2.24/html/queries-values.html |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >VALUES Lists</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 9.2.24 Documentation" HREF="index.html"><LINK REL="UP" TITLE="Queries" HREF="queries.html"><LINK REL="PREVIOUS" TITLE="LIMIT and OFFSET" HREF="queries-limit.html"><LINK REL="NEXT" TITLE="WITH Queries (Common Table Expressions)" HREF="queries-with.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2017-11-06T22:43:11"></HEAD ><BODY CLASS="SECT1" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="5" ALIGN="center" VALIGN="bottom" ><A HREF="index.html" >PostgreSQL 9.2.24 Documentation</A ></TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A TITLE="LIMIT and OFFSET" HREF="queries-limit.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="queries.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" >Chapter 7. Queries</TD ><TD WIDTH="20%" ALIGN="right" VALIGN="top" ><A TITLE="WITH Queries (Common Table Expressions)" HREF="queries-with.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="QUERIES-VALUES" >7.7. <TT CLASS="LITERAL" >VALUES</TT > Lists</A ></H1 ><P > <TT CLASS="LITERAL" >VALUES</TT > provides a way to generate a <SPAN CLASS="QUOTE" >"constant table"</SPAN > that can be used in a query without having to actually create and populate a table on-disk. The syntax is </P><PRE CLASS="SYNOPSIS" >VALUES ( <TT CLASS="REPLACEABLE" ><I >expression</I ></TT > [, ...] ) [, ...]</PRE ><P> Each parenthesized list of expressions generates a row in the table. The lists must all have the same number of elements (i.e., the number of columns in the table), and corresponding entries in each list must have compatible data types. The actual data type assigned to each column of the result is determined using the same rules as for <TT CLASS="LITERAL" >UNION</TT > (see <A HREF="typeconv-union-case.html" >Section 10.5</A >). </P ><P > As an example: </P><PRE CLASS="PROGRAMLISTING" >VALUES (1, 'one'), (2, 'two'), (3, 'three');</PRE ><P> will return a table of two columns and three rows. It's effectively equivalent to: </P><PRE CLASS="PROGRAMLISTING" >SELECT 1 AS column1, 'one' AS column2 UNION ALL SELECT 2, 'two' UNION ALL SELECT 3, 'three';</PRE ><P> By default, <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > assigns the names <TT CLASS="LITERAL" >column1</TT >, <TT CLASS="LITERAL" >column2</TT >, etc. to the columns of a <TT CLASS="LITERAL" >VALUES</TT > table. The column names are not specified by the SQL standard and different database systems do it differently, so it's usually better to override the default names with a table alias list. </P ><P > Syntactically, <TT CLASS="LITERAL" >VALUES</TT > followed by expression lists is treated as equivalent to: </P><PRE CLASS="SYNOPSIS" >SELECT <TT CLASS="REPLACEABLE" ><I >select_list</I ></TT > FROM <TT CLASS="REPLACEABLE" ><I >table_expression</I ></TT ></PRE ><P> and can appear anywhere a <TT CLASS="LITERAL" >SELECT</TT > can. For example, you can use it as part of a <TT CLASS="LITERAL" >UNION</TT >, or attach a <TT CLASS="REPLACEABLE" ><I >sort_specification</I ></TT > (<TT CLASS="LITERAL" >ORDER BY</TT >, <TT CLASS="LITERAL" >LIMIT</TT >, and/or <TT CLASS="LITERAL" >OFFSET</TT >) to it. <TT CLASS="LITERAL" >VALUES</TT > is most commonly used as the data source in an <TT CLASS="COMMAND" >INSERT</TT > command, and next most commonly as a subquery. </P ><P > For more information see <A HREF="sql-values.html" >VALUES</A >. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="queries-limit.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="queries-with.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><TT CLASS="LITERAL" >LIMIT</TT > and <TT CLASS="LITERAL" >OFFSET</TT ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="queries.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><TT CLASS="LITERAL" >WITH</TT > Queries (Common Table Expressions)</TD ></TR ></TABLE ></DIV ></BODY ></HTML >