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
SANDALS
汎用プログラミングインターフェース情報の終了。

SQL 標準

Db2 for z/OS® 業界標準のSQLに基づいて開発されています。 詳細については、 業界標準および Db2 for z/OS をご覧ください。

SQL ステートメントの構文図

PDF形式およびオンラインコンテンツの入手先

次の表は、 Db2 for z/OS 製品マニュアルの該当セクションから、PDF形式およびオンラインコンテンツの場所を示しています。

PDF マニュアル オンラインコンテンツの場所
PDFファイルアイコン SQLリファレンス