SSブログ

クエリ SQL文でクエリを編集する [クエリ]

 ACCESSのクエリデザイン画面は、SQLの構文が分からなくても、感覚的な操作でクエリを作成することが出来る、とても便利なツールです。
 SQLを直接書けるレベルになっても、キーボードからテーブル名や項目名を入力しなくて良いので、ちょっとした検索や集計をするのに便利です。
 SQLServerやOracleなどの本格的なデータベースを使用するようになっても、ACCESSのクエリの便利さを一度覚えると、ACCESSが手放せなくなります。

 簡単なクエリを作る場合、ACCESSのクエリデザインの画面はとても便利ですが、扱う項目数やテーブル数が多くなったり、複雑な条件を入力する場合や、サブクエリを利用したい場合は、デザイン画面ではやりにくいことがあります。
 複雑な条件の場合は、グリッドに条件を入力していくよりも、WHERE句を直接書いていった方がよりイメージしやすい場合もあります。

 ACCESSでもSQL文を直接入力して、SQL文でクエリを作成することができます。
 操作方法は以下の通り。

 「作成」タブから「クエリデザイン」を選択し、新規のクエリを開きます。

 クエリの画面が表示されます。
 「デザイン」タブから、左端にある「SQL」をクリックします。
 状況により、ここに「SQL」が表示されない場合もありますので、その時は、「表示」をクリックして、展開された項目から「SQLビュー」をクリックして下さい。

 クエリデザインの画面が、上図のような、メモ帳みたいな画面に切り替わります。
 ここに、直接SQL文を入力していきます。

 SQL文を書いて、実行する場合は、「実行」をクリックします。

 結果がデータシートで表示されます。

 SQL編集に戻るには、左の「表示」から「SQL」を選択します。

 また、SQL文を直接書いて作成したクエリを、クエリデザインで表示させることもできます。
 「表示」から「デザインビュー」を選択します。

 このように、SQL文の内容が、クエリデザインで表示されます。
 逆に、ある程度の所までクエリデザインで作成して、その後、SQL文で編集を行うことも出来ます。
 ほとんどの場合、複雑なクエリでもなんとかクエリデザインで表示してくれますが、サブクエリやEXISTSを使用している場合などは、デザインビューで編集するのは難しい状態になると思います。
 まれに、デザインビューで表示できないこともあります。(その旨メッセージがでます)
 また、UNIONクエリは、SQLビューでしか作成することができません。

 クエリデザインでは作成するのがめんどうな例。

 このようなテーブルがあり、以下の条件でデータを抽出するとします。
 項目Aが1、かつ、項目Bから項目Eのうち、いずれかの項目が1以上のレコード。
 そのまま条件式に組んでいくと、下図のようになると思います。
 ANDとORに加え、括弧も利用することで、文章に近いイメージの式が記述できると思います。
 これを、クエリデザインで作成すると、どうなるでしょうか。

 こうなります。
 クエリデザインは基本的に、条件の行違いはOR、同じ行の別の列の内容はANDとなるので、ORとANDの組み合わせでは、このようなことになります。
 条件式を直接記述する場合には、括弧が使えるのですが、クエリデザイン上では同等のことができず、こうなります。
 このような条件の場合は、条件式を直接書いた方が簡単かと思います。
 それ以前に、クエリデザインで条件を作成するとして、条件の内容から、この画面の状態を即座に思いつけるようになるには、ある程度の経験がないと難しいと思います。

 時々、クエリデザインの画面をSQL文で表示させてみて、クエリデザインがどのようなSQL文になっているか、また、SQL文で書いたものが、クエリデザインでどのように表示されるか確認してみると、よりクエリを使いこなせるようになると思います。 


nice!(1)  コメント(0)  トラックバック(0) 

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。
※URL(リンク)は記述できません。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。