SQL:Db2 の言語
Db2 テーブルのデータにアクセスする際に使用する言語は、 構造化問い合わせ言語(SQL) です。 SQL は、リレーショナル・データベースのデータの定義と操作を行うための標準化された言語です。
SQL言語は、SQLステートメントで構成されています。
SQLステートメントを使用することで、以下のような活動を行うことができます
- CREATE、ALTER、DROP ステートメントのさまざまな形式を使用して、テーブルなどのデータオブジェクトを定義、変更、または削除します。 これらのステートメントは正式には SQLスキーマステートメントに分類され、非公式にはデータ定義言語(DDL) ステートメントと呼ばれることもあります。
- SELECT、INSERT、UPDATE、MERGE文を使用して、テーブルのデータを取得、挿入、更新、または削除します。 これらのステートメントは正式には SQLデータステートメントに分類され、非公式にはデータ操作言語(DML) ステートメントと呼ばれることもあります。
GRANT、REVOKE、TRANSFER OWNERSHIP ステートメントのさまざまな形式を使用して、テーブルやビューなどの特定のリソースへのアクセスをユーザーに許可する。 これらの文は、正式にはSQLスキーマ文として分類されますが、非公式にはデータ制御言語(DCL) 文として分類されることもあります。
サポートされているSQLステートメントのカテゴリー別リストについては、「SQLステートメントのカテゴリー」 を参照してください。
SQL ステートメントをコーディングする場合、何を行いたいかを指定します。どのように行うかではありません。 例えば、データにアクセスするには、そのデータを含むテーブルとカラムの名前を指定するだけでよいのです。 そのデータの入手方法を記述する必要はありません。
リレーショナルデータモデルに従い、データベースは以下の原則を使用します
- データベースは 1 セットの表として理解されます。
- 関係は、表内の値により表現されます。
- SQL を使用することにより、1 つ以上の表から引き出すことができる結果表 を指定して、データがリトリーブされます。
Db2 各SQLステートメント、つまり結果テーブルの仕様を、データ検索を最適化する一連の操作に変換します。 この変換は、SQL ステートメントが準備 される時点で行われます。 この変換のことはバインド とも呼びます。
すべての実行可能 SQL ステートメントは、準備して初めて実行することができます。 準備した結果は、実行可能形式または操作形式 の ステートメントとなります。
以下の例に記載されているとおり、SQL は一般的には直感的に理解できるようになっています。
例
靴を購入していて、サイズ 8 で使用可能な靴のスタイルを知りたいとします。 作成する必要のあるSQLクエリは、販売員に尋ねる質問と似ています。「サイズ8の靴はどのような種類がありますか?」 販売員が靴の在庫を確認して答えを返すのと同じように、 Db2 はテーブル(SHOES)から情報を取得し、結果のテーブルを返します。 照会は次のようになります。SELECT STYLE
FROM SHOES
WHERE SIZE = 8;質問の答えとしては、サイズ 8 で入手可能な靴のスタイルは、ローファーとサンダルの 2 つであると仮定します。 結果の表は、次のようになります。
STYLE
=======
LOAFERS
SANDALSSQL 標準
Db2 for z/OS® 業界標準のSQLに基づいて開発されています。 詳細については、 業界標準および Db2 for z/OS をご覧ください。
SQL ステートメントの構文図
構文図の規則の詳細については、 Db2 製品ドキュメントについては、 「構文図の読み方」を参照してください。
PDF形式およびオンラインコンテンツの入手先
次の表は、 Db2 for z/OS 製品マニュアルの該当セクションから、PDF形式およびオンラインコンテンツの場所を示しています。
| PDF マニュアル | オンラインコンテンツの場所 |
|---|---|