データベースからデータを取り出す処理、または、取り出すためのコマンドを問い合わせと言います。
SQLでは、SELECTコマンドを、問い合わせを指定するために使います。
SELECT
コマンドの一般的な構文は次の通りです。
[WITHwith_queries
] SELECTselect_list
FROMtable_expression
[sort_specification
]
以降の節では、選択リスト、テーブル式、並べ替えの仕様について詳細に説明します。
WITH
問い合わせは、より進んだ機能のため最後で扱います。
単純な問い合わせの形式は次のようなものです。
SELECT * FROM table1;
table1
というテーブルがあるとして、このコマンドはtable1
からすべてのユーザ定義の列を全行取り出します。
(検索する方法はクライアントアプリケーションに依存します。
クライアントライブラリは、問い合わせ結果から個々の値を抽出する機能を提供する一方、例えばpsqlプログラムでは、アスキーアートで表組を画面上に表示します。)
選択リストの指定における*
は、テーブル式が持つすべての列を提供することを意味します。
選択リストでは、選択可能な列の一部を選択することも、選択可能な列を使用して計算することもできます。
例えば、table1
にa
、b
、c
という名前の列がある場合(他の列があっても構いません)、以下のような問い合わせができます。
SELECT a, b + c FROM table1;
(ここではb
およびc
は数値型のデータであると仮定しています。)
詳細については7.3を参照してください。
FROM table1
は、単純な形のテーブル式で、読み込むテーブルは1つだけです。
一般にテーブル式は基本テーブルや結合そして副問い合わせなどで複雑に構成されることがあります。
しかし、以下のように、テーブル式をすべて省略し、SELECT
コマンドを電卓として使用することもできます。
SELECT 3 * 4;
選択リストの式が返す結果が変化する場合、これはさらに有用です。 例えば、関数を次のように呼び出すことができます。
SELECT random();