FROM
句は、SELECT
文に対して、1 つ以上のソーステーブルを指定します
構文
FROM source [, ...]
次の表では、source
に設定できるパラメーターを説明します。
パラメーター | 説明 |
---|---|
table_name[@dblink ] | 既存のテーブルまたはビューの名前。 名前はスキーマで修飾できます。リモートデータベースを識別するデータベースリンク名はdblink です。 データベースリンクの詳細については、CREATE DATABASE LINK コマンドのページをご参照ください。
|
alias | エイリアスを含む FROM 句内の項目の代替名。 エイリアスは、指定を簡潔化するため、または自己結合 (同じテーブルが複数回スキャンされる場合) の曖昧さをなくすために使われます。 テーブルまたは関数のエイリアスを指定すると、テーブルまたは関数の実際の名前が隠されます。
たとえば、FROM foo AS f を指定すると、SELECT 文の残りの部分では FROM 句の項目を foo ではなく、 f として参照する必要があります。
|
select | FROM 句で、SELECT 文をネストすることができます。 これにより、SELECT 文の実行中に派生テーブルが作成されます。 ネストされたSELECT 文は括弧で囲み、エイリアスを指定する必要があります。
|
join_type | 次の結合タイプを使用可能です。
|
ON join_condition | join_condition は、 結合内でどの行が一致するとみなされるかを指定する、BOOLEAN 型 (WHERE 句に類似) の値をもたらす式です。
|
USING (join_column [, ...] ) | USING
(a, b, ... ) 句は、ON left_table.a =
right_table.a AND left_table.b = right_table.b ... の略です。 加えて、USING は、同等の列の各ペアのうちの 1 つだけが結合出力に含まれることを表します。
|
NATURAL | NATURAL は、同じ名前を持つ 2 つのテーブルのすべての列を記載する USING リストの略です。
|
複数のソースが指定されている場合、結果はすべてのソースのデカルト積 (クロス結合) になります。 ほとんどの場合、制約条件を追加して、返される行をデカルト積の小さなサブセットに限定します。
例
次の例では、dept テーブルからすべてのエントリを選択します。
SELECT * FROM dept;
deptno | dname | loc
-------+-------------+-----------
10 | ACCOUNTING | NEW YORK
20 | RESEARCH | DALLAS
30 | SALES | CHICAGO
40 | OPERATIONS | BOSTON
(4 rows)