クエリとSQLの関係
SQLとは
SQLは、「Structured English Query Language」(構造化英文問い合わせ言語)として1970年代にIBM社で開発されました。その後、ISOやJISによって規格化されたことにより普及が進み、現在ではリレーショナルデータベースの事実上の標準言語となっています。
Accessの優れた操作性により、通常の利用程度なら、SQLを理解していなくても十分使いこなせます。しかし、ほかのデータベースに対して直接問い合わせをしたり、たったひとつの命令で、たくさんのデータに一度に更新をかけたり、ある条件でデータを削除したり、複雑な条件に該当するデータを抽出したり集計したりすることができるのです。
SQLには、大まかに次のような機能があります。
AccessでSQLを実行するには
次のような方法があります。
クエリとSQL
クエリには「SQLビュー」という表示モードがあります。SQLビューでは、クエリの処理内容がSQLステートメントで記述されています。
選択クエリ
テーブルのデータを基に、特定のフィールドのみを表示したり抽出したりします。
《書式》
SELECT フィールド名 |
フィールド名は「テーブル名.フィールド名」の形式で指定します。複数のフィールドを指定する場合はカンマで区切ります。
すべてのフィールドを指定する場合はアスタリスク(*)を入力します。
テーブル名は、クエリの基になるテーブル(またはクエリ)名を指定します。
条件式は、「フィールド名 演算子 条件値」の形式で指定します。条件値が文字列の場合はダブルコーテーションで囲みます。
ひとつの条件式が長い場合は、任意の場所で区切れますが、クエリに指定した条件に対しては、Accessが自動的に区切ります。
《使用例》
“埼玉県”で抽出した場合、SQLビューには次のように表示されます。
SELECT T得意先マスタ.顧客名, T得意先マスタ.都道府県 FROM T得意先マスタ WHERE (((T得意先マスタ.都道府県)="埼玉県")); |
更新クエリ
複数または1つの値を一括して更新します。
《書式》
UPDATE テーブル名 SET 更新する値 WHERE 条件式 |
《使用例》
下記例では、都道府県フィールドが“東京”のレコードを抽出し、“東京都”に置換します。
UPDATE T得意先マスタ |
削除クエリ
条件を満たすレコードをテーブルから削除できます。
《書式》
DELETE FROM テーブル名 WHERE 条件式 |
《使用例》
下記例では、顧客区分が“D”のレコードを削除します。
DELETE T得意先マスタ.顧客名, T得意先マスタ.顧客区分 FROM T得意先マスタ WHERE (((T得意先マスタ.顧客区分)="D")); |