問い合わせとは、データベースからデータを抽出する過程を表している言葉、もしくはその抽出を行わせるためのコマンドです。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();