翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
FROM 句
クエリの FROM句は、データが選択されるテーブル参照 (テーブル、ビュー、サブクエリ) を一覧表示します。複数のテーブル参照がリストされている場合、 FROM句または WHERE句の適切な構文を使用して、テーブルを結合する必要があります。結合基準を指定していない場合、クエリはクロス結合 (デカルト積) として処理されます。
構文
FROM table_reference [, ...]
ここで table_reference は、次のいずれかになります。
with_subquery_table_name | table_name | ( subquery ) [ [ AS ] alias ] table_reference [ NATURAL ] join_type table_reference [ USING ( join_column [, ...] ) ] table_reference [ INNER ] join_type table_reference ON expr
パラメータ
- with_subquery_table_name
-
WITH 句 のサブクエリで定義されるテーブル。
- table_name
-
テーブルまたはビューの名前。
- alias
-
テーブルまたはビューの一時的な代替名。エイリアスは、サブクエリから生成されたテーブルに対して提供する必要があります。他のテーブル参照では、エイリアスはオプションです。- AS キーワードは常にオプションです。テーブルエイリアスは、 WHERE句など、クエリの他の部分のテーブルを識別するための便利なショートカットを提供します。
以下に例を示します。
select * from sales s, listing l where s.listid=l.listid
テーブルエイリアスを定義した場合、クエリでそのテーブルを参照するにはエイリアスを使用する必要があります。
例えば、クエリが
SELECT "tbl"."col" FROM "tbl" AS "t"
の場合、テーブル名は基本的に上書きされているため、クエリは失敗します。この場合の有効なクエリはSELECT "t"."col" FROM "tbl" AS "t"
です。 - column_alias
-
テーブルまたはビュー内の列に対する一時的な代替名。
- subquery
-
テーブルに対して評価を実行するクエリ式。テーブルは、クエリの有効期間中のみ存在し、通常は名前またはエイリアスが与えられます。ただし、エイリアスは必須ではありません。また、サブクエリから生成されたテーブルに対して、列名を定義することもできます。サブクエリの結果を他のテーブルに結合する場合、および列をクエリ内のどこかで選択または拘束する場合、列のエイリアスの命名は重要です。
サブクエリには ORDER BY 句が含まれている場合がありますが、 LIMIT または 句も指定されていない場合、このOFFSET句は効果がない可能性があります。
- NATURAL
-
2 つのテーブル内で同じ名前を付けられた列のペアをすべて結合列として、自動的に使用する結合を定義します。明示的な結合条件は必要ありません。例えば、 テーブルCATEGORYと EVENTテーブルの両方に という名前の列がある場合CATID、それらのテーブルの自然結合はCATID列に対する結合です。
注記
NATURAL 結合が指定されていても、結合するテーブルに同じ名前の列ペアが存在しない場合、クエリはデフォルトでクロス結合になります。
- join_type
-
以下のいずれかの結合タイプを指定します。
-
[INNER] JOIN
-
LEFT [OUTER] JOIN
-
RIGHT [OUTER] JOIN
-
FULL [OUTER] JOIN
-
CROSS JOIN
クロス結合は非限定の結合で、2 つの表のデカルト積を返します。
内部結合と外部結合は限定結合です。これらは、暗黙的に (自然結合で)、 FROM句の ON または USING構文で、または WHERE句条件で修飾されます。
内部結合は、結合条件、また結合列のリストに基づいて、一致する行だけを返します。外部結合は、同等の内部結合が返すすべての行に加え、「左側の」表、「右側の」表、または両方の表から一致しない行を返します。左の表は最初に一覧表示された表で、右の表は 2 番目に一覧表示された表です。一致しない行には、出力列のギャップを埋めるためのNULL値が含まれています。
-
- ON join_condition
-
結合列を ON キーワードに続く条件として記述する、結合タイプの指定。以下に例を示します。
sales join listing on sales.listid=listing.listid and sales.eventid=listing.eventid
- USING ( join_column [, ...] )
-
結合列をかっこで一覧表示する結合の指定タイプ。複数の結合列を指定する場合、カンマによって区切ります。USING キーワードはリストの前にある必要があります。以下に例を示します。
sales join listing using (listid,eventid)
使用に関する注意事項
列を結合するには、データ型に互換性がなければなりません。
NATURAL または USING結合は、中間結果セットの各結合列ペアの 1 つだけを保持します。
ON 構文を使った結合は、中間結果セットの両方の結合列を保持します。
「WITH 句」も参照してください。