InterBase クイック スタート:Part IV - SELECT の概要
InterBase クイック スタート:Part IV - データの抽出 へ戻る
SELECT
文の簡易版は次のようになります:
SELECT [DISTINCT] columns
FROM tables
WHERE search_conditions
[GROUP BY COLUMN [HAVING search_condition]]
[ORDER BY order_list]
上記の SELECT
文の構文には、主なキーワードが 7 つ含まれています。キーワードとそれに関連づけられる情報をまとめて、句 と呼びます。 上記構文での句は次の通りです:
句 | 説明 |
---|---|
|
抽出する列のリスト |
|
(任意)重複行を取り除くキーワード |
|
値を検索するテーブルを識別 |
|
利用可能なすべての行のサブセットに制限した行を取得 |
|
指定された列の値に従って、取得した行をグループ化 |
|
|
|
|
SELECT
文の詳細については、「SELECT」を参照してください。
一度に 2 つのテーブルからデータを取得する
このセクションでは、技術部を管理している人の名前と社員番号を取得します。 Department
テーブルには、各部署のマネージャ番号(mngr_no
)が保有されています。 そのマネージャ番号は、Employee
テーブルにある社員番号(emp_no
)と一致し、その社員番号のレコードには、姓、名があります。 WHERE
この 2 つのテーブルの対応するレコードをリンク付けするため、WHERE 句を使用して、一方の外部キー(mngr_no
)が、 もう一方の主キー(emp_no
)と等しいことを指定します。 主キーは一意であることが保証されているので、Employee
テーブルで一意の一行を指定していることになります。 いずれのキーも、SELECT
句に入れなくても構いません。 この例では、参照する主キーは SELECT
句の一部ですが、外部キーはそうではありません。
- 次の文を入力してください:
SELECT department, last_name, first_name, emp_no FROM Department, Employee WHERE department = 'Engineering' AND mngr_no = emp_no
- 結果、次の図のようになっていると思います。