SQLの第一歩

 AccessはユーザーがなるべくSQLを直接記述しなくともよいように作られているので、実際にその内容を目にしたことがない方も多いかもしれません。
 そこで、ここではSQLの実際の姿を見てみるとともにその分類を整理します。

SQLの実例

f:id:accs2014:20160828005159p:plain:right:w300

 やはり実際に見てみないと実感も何もないと思いますので、AccessでのSQLの実例を見てみます。
 右は選択クエリのクエリデザインの画面です。「会員」というテーブルから「会員番号」「生年月日」という列を抽出するものです。


f:id:accs2014:20160828005200p:plain:right:w400

 ここで左上の「表示」の文字をクリックし、「SQLビュー」を選択します。


f:id:accs2014:20160828005201p:plain:right:w300

 すると次のような文字列が現れます。

SELECT 会員.会員番号, 会員.生年月日
FROM 会員;


この文字列がSQLであり「『会員』というテーブルから『会員番号』『生年月日』という列を抽出する」という命令そのものを表しています。
 クエリのデザインビューは、このようなSQLを手早く生成するためのツールに過ぎません。デザインビューを用いなくとも、このSQLビューを開いて同じSQLを入力すれば同じ実行結果(選択クエリ)を得ることができます。

 次の例ですが、テーブルを削除するDROP TABLE文を実行してみます。
 クエリのデザインビューで「データ定義」を選択するとSQLビューが現れます。そこで

DROP TABLE 商品;

と入力し実行すると商品テーブルは削除されます(なお、普通の選択クエリのSQLビューでもDrop Tableなどのデータ定義言語を記入すれば自動的にデータ定義クエリとして分類され実行可能となります)。


SQLの種類

 AccessのSQLはデータ操作言語とデータ定義言語に大別されます。
 データ操作言語はテーブルを参照したりテーブルにレコードを追加、変更、削除するのに用いられるものです。具体的にはデータを参照するSELECT、データを変更するUPDATE、データを追加するINSERT、データを削除するDELETE等があります。
 データ定義言語はテーブルそのものの作成や削除のほか、主キーを設定したりするのに用いられるものです。具体的にはテーブルを作成するCREATE TABLE、テーブルの設定を変更するALTER TABLE、テーブルを削除するDROP TABLE等があります。

 実用上、ユーザーが直接操作するのはSELECT文(命令)が大半ですので、以下の節ではまずSELECT文について説明したうえで、それ以外のSQLについて補足します。