SQLをテキストエディタで書いていくのはわかりにくいものですが、AccessではGUIでクエリを作るとSQL文が生成されます(SQL文を書いてもGUIに反映されます)。なのでこれを参考にします。Accessのクエリは、視覚的にわかりやすいので解に結びつくかもしれません。
ちょっとややこしいデータ抽出のとき、Accessで作ってみてからMySQLで発行しました。
同じ結果が得られました。
▷ 手順
ターゲットのSQLデータベースにAccessからODBCを利用して接続
⇩
Accessでクエリを作成
⇩
Accessが生成した SQL文を確認
⇩
コマンドラインでSQLを発行して実験
⇩
そのSQL文をコードに実装
AccessSQLとMySQLとでは細かい点で表現が異なるので修正が必要になることがあります(むしろ多い)。
「MySQL」ではなく、マイクロソフトの「SQL Server」の場合は少ない修正で済むのかもしれません。
Accessを使い慣れている場合には意外と役に立ちます。ヒントくらいにしかならないこともありますが。
▷ 役に立たない場合もあります(複数テーブル・クエリ ⇔ サブクエリ 問題 )
Accessでは、別のクエリを利用して新しいクエリを作ることがあって、SQLでは同様のことをサブクエリによって行います。
複数のクエリやテーブルを関連付けてデータ抽出や集計を行う場合、AccessのGUIはわかりやすく作業を進めることができます。
しかし、1本のSQL文にしたいと思い、AccessのSQLビューで手作業で編集したあとGUIのデザインビューに戻ってみると謎の「%$##@_Alias」テーブルのようなができていて、GUIからの操作は拒まれた感じになっています。が、実行結果は正しいようです。
具体的には、AccessSQLでは、FROM句にサブクエリを使ったSQL文につき、実行はできるけれどデザインビューからの操作はできそうもない、ということがわかりました。
-
購入金額
0円
-
購入日
2014年10月11日
-
購入場所
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。