バージョンごとのドキュメント一覧

7.1. 概要 #

<title>Overview</title>

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コマンドの一般的な構文は次の通りです。

[WITH with_queries] SELECT select_list FROM table_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プログラムでは、アスキーアートで表組を画面上に表示します。) 選択リストの指定における*は、テーブル式が持つすべての列を提供することを意味します。 選択リストでは、選択可能な列の一部を選択することも、選択可能な列を使用して計算することもできます。 例えば、table1abcという名前の列がある場合(他の列があっても構いません)、以下のような問い合わせができます。

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();