そもそもクエリってなんなんでしょう?

本を見ながらクエリを作成したもののクエリがなんなのかわからないんです・・・。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

イメージで言えば、


テーブル…実際にデータを格納するところ
クエリ…テーブルに格納されているデータを、いろんな角度から眺めてみるための「窓」
ってな感じになるかと思います。

データが実在する場所は、あくまでもテーブルであって、クエリには、「IDの項目で並べ替える」とか、「住所が東京のものだけを表示する」のようなことが書いてあるだけなんですね。

で、そのクエリを「実行」しますと、クエリは、その時点でのテーブルの内容を、書かれてる内容に従って、並べ替えたり絞り込んだりしてから表示する、というような動作をします。


ってな感じで、分かりますか?

不明点、その他、ありましたら補足をお願いします。
    • good
    • 0

テーブルに保存されたデータの中から必要なデータだけを取り出したり、計算したり、データを活用する機能のことです。



例をあげて説明します。

例えば住所録の管理をアクセスで行うとします。
住所録データのテーブルには、氏名、郵便番号、住所、性別、生年月日といったフィールド(項目)名をつけます。

このテーブルからクエリーで、男女別に取り出すこともできるし、生年月日から今の年齢を計算させることもできるし、さらに計算した年齢から30歳以上の人を取り出すこともできます。

年齢で言えば、はじめからテーブルで年齢を入れてもいいけれどそれでは、誕生日がくるたびに入力しなおしたり大変で、テーブルに保存するデータも増えて、データベースの容量を余計に増やしてしまいます。

クエリーはこの容量の無駄や、手間の無駄を省いて、もともとあるデータを活用する機能です。

クエリーははじめはわかりにくいけど「慣れ」なので、練習していくうちにわかってきますよ★
    • good
    • 0

クエリとは、データベースに対する「要求」(Query)の


意味です。
データベースに対して「あのテーブルとこのテーブルを結合して
こんな順番で並べ替えて」という要求を出しています。
その結果はビュー(View)と呼ばれるものです。

データベースへ要求する手段としては、SQLという
一種の言語による要求方法もあります。

SQL・・・Structed Query Language(構造化問い合わせ言語)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q選択クエリを基に不一致クエリを作成したけれど...

識者の力をお借りしたく質問いたします。

質問ページから不一致クエリに関する内容を参考に、ある不一致クエリを作成しています。

しかし、出来るはずの方法で結果が正しく表示されず途方にくれています。

処理の内容としては、あるクエリのフィールドを参考に不一致クエリで差分レコードを抽出したいというものです。

通常不一致クエリはテーブルの主キーを基に作成するものと私は理解しているのですが、今回の処理では基のテーブルに主キーが無く、(作成できない事情があり)クエリで無理矢理主キーもどきのものを作りました。

クエリで作成したのは、数字6桁(最大で)の後ろにチェックディジットとしてアルファベット1文字を追加した計7文字のフィールドです。

例:131401A

不一致を抽出したい基となる2つのテーブルに対しこのクエリを作成しました。

この2つのクエリから不一致クエリで差分を抽出し、基のテーブルに追加クエリで追加したいのですが、どうやっても不一致項目が表示されません。

根本的にクエリからの不一致クエリは作成できないのでしょうか?

よろしくお願いいたします。

■状況
テーブル1/テーブル2(基となるテーブル、主キー無し)
クエリ1/クエリ2(テーブル1/テーブル2のレコードにコードを追加するクエリ)
コード1/コード2(クエリ1/クエリ2で作成したコード)例:131401A
不一致クエリ
テーブル2 → テーブル1 (リレーションシップ)
コード2 条件:Not Null

※テーブル2の方が最新レコードが入っているので、テーブル2の差分レコードをテーブル1に追加したいというのが基本的な内容です。

よろしくお願いいたします。

識者の力をお借りしたく質問いたします。

質問ページから不一致クエリに関する内容を参考に、ある不一致クエリを作成しています。

しかし、出来るはずの方法で結果が正しく表示されず途方にくれています。

処理の内容としては、あるクエリのフィールドを参考に不一致クエリで差分レコードを抽出したいというものです。

通常不一致クエリはテーブルの主キーを基に作成するものと私は理解しているのですが、今回の処理では基のテーブルに主キーが無く、(作成できない事情があり)クエリで無理矢理主キー...続きを読む

Aベストアンサー

比較に使用する列にキー(インデックス)があれば良く、主キーである必要はありません。

また、不一致クエリの部分に誤解があるようですね。
テーブルを簡略化して例示します。

テーブル1/テーブル2
1   / 1
2   / 2
    / 3   ←これが検出されるクエリを作成する。

この場合、不一致クエリではテーブル1の側がNULLになります。テーブル2がNotNullでは1~3まですべて検出されてしまいます。

作成は以下の順序で行ってみてください。
1)テーブル1とテーブル2を追加して選択クエリを作成します。
  テーブル2のすべてとテーブル1の結合列を表示させるようにします。
2)テーブル2の結合列をテーブル1の結合列にドラッグします。
3)結合で表示された線をクリックしてテーブル2のすべてが表示されるようにします。
4)ここで確認。例示の3行が表示されます。
5)追加分のみに絞ります。1)で作成したテーブル1の結合列の条件にIsNullを加えてください。
6)ここで確認。例示の3行目だけが表示されます。
7)5)でIsNullを設定した列の「表示」のレ点を外します。
8)ここで確認。例示の3行目のテーブル2の部分だけが表示されます。
9)デザインビューにしてメニューのクエリをクリックし、「追加」を選択します。対象は追加なさりたいテーブル(テーブル1?)を選択。

以上でいかがでしょうか?

比較に使用する列にキー(インデックス)があれば良く、主キーである必要はありません。

また、不一致クエリの部分に誤解があるようですね。
テーブルを簡略化して例示します。

テーブル1/テーブル2
1   / 1
2   / 2
    / 3   ←これが検出されるクエリを作成する。

この場合、不一致クエリではテーブル1の側がNULLになります。テーブル2がNotNullでは1~3まですべて検出されてしまいます。

作成は以下の順序で行ってみてください。
1)テーブル1とテーブル2を追...続きを読む

QAccessクエリの本でおすすめなものは?

Accessを仕事で使い勉強中です。
いままで、
魔法使いの開発工房シリーズの本で勉強しました。
簡単なものなら自分でいろいろ作れるようになってきましたが、仕事場でクエリを作りたいときに参考になるようなクエリ集を探しています。

そこで、Amazonを見て、
●ACCESSクエリの達人ガイド <集計&データ整理の極意>[2000/2002/2003/2007対応]谷尻 かおり
●Accessクエリ逆引き便利帖 (単行本) プロジェクトA (著)
●Accessクエリ逆引き大全500の極意 日野間 佐登子

あたりが良いかなと思っているのですが、実際に購入された方、どの本が使い勝手がおすすめでしょうか。

家では、2007で、仕事場では2003を使用しています。

どうぞよろしくお願いいたします。

Aベストアンサー

ACCESSのデザインビューでクエリの勉強をしたいのでしょうか?
検討違いかもしれませんが、ゆくゆくはSQL自体の勉強も必要だと思うので「改訂新版 SQLポケットリファレンス」を一冊購入をお勧めします。会社勤めなら会社にあるかも知れませんが、とても勉強になります。

参考URL:http://gihyo.jp/book/2003/4-7741-1755-2

Qテーブル作成クエリで作成したテーブルに連番をふりたい

こんにちは。
ACCESS97を利用しているのですが(OSはWin2000)、
クエリーで作成したテーブルに連番を振ることは出来ますか?

テーブル作成クエリーで5フィールドのテーブルを作成するようにしているのですが、できあがったテーブルの先頭フィールドに1から連番をふりたいのです(計6フィールドのテーブルをクエリーから作成したい)。
イメージとしては、デザインビューでテーブルを作成したときに、1フィールド目にオートナンバー型を利用するのと同じ感じで。。

方法が思いつきません。。
よい方法がありましたらご協力をお願い致します

Aベストアンサー

> クエリーで作成したテーブルに連番を振ることは出来ますか?

その出来たテーブルをデザインビューで開き、先頭フィールドに
「オートナンバー型」のフィールドを追加すれば、自動的に 1から
番号が振られますが、これでは、ダメなのですか?

質問の内容からは、そのように取れますが、そんな簡単なことでは、
ないのかも知れませんね。

QACCESSのクエリの中でのクエリ指定

ACCESSのクエリで複数テーブルを結合させ明細表示させました。
その明細作成クエリーを更にそのクエリをテーブルと指定して
合計のクエリを作成して結果を確認すると合計が違っていました。
確認の為、集計を取りその明細クエリーをクエリー上でテーブル
指定してみたところ、元の明細クエリーのみの場合とレコード数
がかわっって表示されまました。
クエリーのテーブルにクエリを指定するのはNGなのでしょうか。
何方かなぜそうなるのか、また、正しい方法があれば教えてください。
宜しくお願いします。

Aベストアンサー

クエリーのテーブルにクエリを指定するのはNGではありません。

SQL文が無いので何処が悪いのかなんともいえません。

Qaccess 更新クエリ?追加クエリ?

access超初心者です。

いま、下記のような在庫表をつくっています。
(出庫テーブルは省略してます)



入庫テーブル
 ID
 入庫日付
 大分類
 中分類
 小分類
 数量
 
在庫テーブル
 ID
 大分類 
 中分類 
 小分類
 最初の数
 入庫数 
 出庫数

入庫更新クエリ
*入庫→在庫  大分類
       中分類   
       小分類
・入庫の全レコードと在庫表の同じ結合フィールドのレコードだけを含める

で結合しています。

*在庫表の入庫数
 レコードの更新で
 NZ([在庫数]![入庫数],0)+NZ([入庫]![数量],0)

といれています。




入庫テーブルに入力していき
その都度、
入庫更新クエリにて更新し
在庫表に反映させていきたいと思っています。

入庫表には、この先
在庫表にないものもでてくるので
在庫表にないものは
追加、あるものは、更新としていきたいです。

今の状態だと
入庫表のものは、更新クエリでいったん在庫表に反映されるのですが
入庫表にレコードを追加して
また更新クエリをかけると
在庫表が、前に更新したレコードの分も
重複して反映してしまいます。

これをなくすには、どういった方法が
ありますか?

宜しくお願いいたします

access超初心者です。

いま、下記のような在庫表をつくっています。
(出庫テーブルは省略してます)



入庫テーブル
 ID
 入庫日付
 大分類
 中分類
 小分類
 数量
 
在庫テーブル
 ID
 大分類 
 中分類 
 小分類
 最初の数
 入庫数 
 出庫数

入庫更新クエリ
*入庫→在庫  大分類
       中分類   
       小分類
・入庫の全レコードと在庫表の同じ結合フィールドのレコードだけを含める

で結合しています...続きを読む

Aベストアンサー

No1です。入庫データをクリアするのではなく、記帳のときに記帳済みのマークを入れておいて、入庫更新クエリーのとき記帳すみのマークのあるものを除外するほうがよさそうです。


人気Q&Aランキング

おすすめ情報