Chapter 2. 問い合わせ

Table of Contents
2.1. 概要
2.2. テーブル式
2.2.1. FROM句
2.2.2. WHERE句
2.2.3. GROUP BY句とHAVING句
2.3. 選択リスト
2.3.1. 列ラベル
2.3.2. DISTINCT
2.4. 問い合わせの結合
2.5. 行の並べ換え
2.6. LIMITとOFFSET

2.1. 概要

問い合わせとは、抽出の過程のこと、または、データベースからデータを抽出するコマンドのことです。SQLでは、 SELECT コマンドを、問い合わせを特定するために使います。 SELECT コマンドの一般的な構文は次のとおりです。

SELECT select_list FROM table_expression [sort_specification]

以降の節では、選択リスト、テーブル式、ソートの仕様について詳細に説明します。最も単純な問い合わせの形式は、次のようなものです。

SELECT * FROM table1;

table1 というテーブルがあるとして、このコマンドは table1 からすべての行のすべての列を取り出します(抽出する手段はクライアントアプリケーションに依存します。たとえば、psql プログラムでは、アスキー文字によるテキスト図で画面上にテーブルを表示し、クライアントライブラリが個々の行と列を取り出す機能を提供します)。選択リストの指定で * は、テーブルが持っているすべての列を意味します。選択リストは、列の一部分を選択することや、列を抽出する前に列に対して計算を施すこともできます。 Section 2.3を参照を参照して下さい。たとえば、table1 に a、b、c という名前の列がある場合(他の列もあってもかまいません)、以下のような問い合わせができます(ここで、b と c は数値データ型であるとみなします)。

SELECT a, b + c FROM table1;

FROM table1 は、最も単純な形のテーブル式です。一般に基本テーブルや結合そして副問い合わせなどで、テーブル式は複雑になることがあります。しかし、テーブル式を省略し、SELECT コマンドを電卓として使用することもできます。

SELECT 3 * 4;

選択リストの式がさまざまな結果を返す場合、これはさらに有用です。たとえば、関数を次のように呼び出すことができます。

SELECT random();