The process of retrieving or the command to retrieve data from a
database is called a <firstterm>query</firstterm>. In SQL the
<link linkend="sql-select"><command>SELECT</command></link> command is
used to specify queries. The general syntax of the
<command>SELECT</command> command is
データベースからデータを取り出す処理、または、取り出すためのコマンドを問い合わせと言います。
SQLでは、SELECT
コマンドを、問い合わせを指定するために使います。
SELECT
コマンドの一般的な構文は次の通りです。
[WITHwith_queries
] SELECTselect_list
FROMtable_expression
[sort_specification
]
The following sections describe the details of the select list, the
table expression, and the sort specification. <literal>WITH</literal>
queries are treated last since they are an advanced feature.
以降の節では、選択リスト、テーブル式、並べ替えの仕様について詳細に説明します。
WITH
問い合わせは、より進んだ機能のため最後で扱います。
A simple kind of query has the form: 単純な問い合わせの形式は次のようなものです。
SELECT * FROM table1;
Assuming that there is a table called <literal>table1</literal>,
this command would retrieve all rows and all user-defined columns from
<literal>table1</literal>. (The method of retrieval depends on the
client application. For example, the
<application>psql</application> program will display an ASCII-art
table on the screen, while client libraries will offer functions to
extract individual values from the query result.) The select list
specification <literal>*</literal> means all columns that the table
expression happens to provide. A select list can also select a
subset of the available columns or make calculations using the
columns. For example, if
<literal>table1</literal> has columns named <literal>a</literal>,
<literal>b</literal>, and <literal>c</literal> (and perhaps others) you can make
the following query:
table1
というテーブルがあるとして、このコマンドはtable1
からすべてのユーザ定義の列を全行取り出します。
(検索する方法はクライアントアプリケーションに依存します。
クライアントライブラリは、問い合わせ結果から個々の値を抽出する機能を提供する一方、例えばpsqlプログラムでは、アスキーアートで表組を画面上に表示します。)
選択リストの指定における*
は、テーブル式が持つすべての列を提供することを意味します。
選択リストでは、選択可能な列の一部を選択することも、選択可能な列を使用して計算することもできます。
例えば、table1
にa
、b
、c
という名前の列がある場合(他の列があっても構いません)、以下のような問い合わせができます。
SELECT a, b + c FROM table1;
(assuming that <literal>b</literal> and <literal>c</literal> are of a numerical
data type).
See <xref linkend="queries-select-lists"/> for more details.
(ここではb
およびc
は数値型のデータであると仮定しています。)
詳細については7.3を参照してください。
<literal>FROM table1</literal> is a simple kind of
table expression: it reads just one table. In general, table
expressions can be complex constructs of base tables, joins, and
subqueries. But you can also omit the table expression entirely and
use the <command>SELECT</command> command as a calculator:
FROM table1
は、単純な形のテーブル式で、読み込むテーブルは1つだけです。
一般にテーブル式は基本テーブルや結合そして副問い合わせなどで複雑に構成されることがあります。
しかし、以下のように、テーブル式をすべて省略し、SELECT
コマンドを電卓として使用することもできます。
SELECT 3 * 4;
This is more useful if the expressions in the select list return varying results. For example, you could call a function this way: 選択リストの式が返す結果が変化する場合、これはさらに有用です。 例えば、関数を次のように呼び出すことができます。
SELECT random();