AccessではGUIベースで選択クエリを作成するのが普通のやり方です。しかし、選択クエリの作成ツールはGUIベースの 「デザインビュー」の他に「SQLビュー」が用意されています。これを用いると同じクエリを2つの表現で比べることも可能です。
今回はあらかじめデータを入力したAccessのサンプルデータベースを使うことにします。これ(db1.mdb)をdownloadして以下の課題に挑戦して下さい。
注意:Accessのバージョンが上がったので,以下の説明画面と対応しない部分があります。教科書やネットを活用して情報を集めながら課題を進めてください。
downloadしたデータベースの中身をまず確かめます。開くと次のような警告が出ますが有効化してください。
※小さな四角形F,H,C,X1,,,はウインドウをキャプチャする時に映り込んだものです以下では無視してください
開いた後でデータベースツールのリレーションシップで下のような8個のテーブルとテーブル間の参照関係を見ることができます。
前と同様に新しいクエリを作成しSQLビューを選択します。ここで検索のための次のSQL文を入力して実行してみてください。
SELECT 仕入先名, 担当者名, 部署 FROM 仕入先 WHERE 部署='営業部'
このクエリを実行すると仕入先の内で営業部が担当したもののリストが得られる。
ここで表示されているのはデータシートビユーである。
ホームの表示でデザインビューに切り替えると、下記のようにAccessの本来のクエリ作成画面が表示される。
ここで担当者名で並べ替えを指定し
SQLビューに切り替えると、変更後のクエリのSQLによる記述を見ることができる。結果は下記のようになる。
SELECT 仕入先.仕入先名, 仕入先.担当者名, 仕入先.部署
FROM 仕入先
WHERE (((仕入先.[部署])='営業部'))
ORDER BY 仕入先.担当者名;
括弧や「仕入先.」が勝手に挿入されているが文法的にはORDER BYが加えられた以外の変化は無い。
−−Accessの選択クエリはGUIでも記述でき、しかもSQLに変換して確認することが可能です−−
区分名 | 受注金額 |
---|---|
飲料 | 4949750 |
加工食品 | 2272300 |
菓子類 | 2862200 |
魚介類 | 5863800 |
穀類、シリアル | 3556380 |
調味料 | 4340500 |
肉類 | 3522800 |
乳製品 | 2453800 |
検索に用いたSQLプログラムと結果のリストを示してください。リストが長い時は先頭付近のみでOKです