プログラマーではない人(PC初心者)にわかるように説明していただけますでしょうか。
また余裕のある方は「検索クエリ」とは何かも説明していただけるとうれしいです。
"IT用語辞典"や"はてなキーワード"の説明ではよくわかりませんでした。
IT用語辞典
http://e-words.jp/w/E382AFE382A8E383AAE383BC.html
<引用>
"データベース管理システムに対する処理要求(問い合わせ)を文字列として表したもの。データの検索や更新、削除などの命令をシステムに発行するのに使われる。検索クエリーでは、対象となるテーブルやデータの抽出条件、並べ方などを指定する。一度作成したクエリーは保存しておいて何度も使うことができるようになっているものが多い。リレーショナルデータベースでは、クエリーの記述にSQLという言語を使うことがほとんどである。"
はてなキーワード
http://d.hatena.ne.jp/keyword/%A5%AF%A5%A8%A5%EA
<引用>
"データベースの分野においては、データベースに対して与える検索条件のことをいう。"
もしコンピュータに馴染みの薄い人に説明するとしたら、こんな感じにします。
-
コンピュータ用語としてだけでなく一般的に言えば、クエリ (query) とは質問や問い合わせのことです。乱暴に言えばquestionとほぼ同じで、誰か(あるいは何か)に対して、回答を期待して行う問い合わせ、と思えば間違いありません。昔は「質問語」と呼ばれたこともあります。
問い合わせを受ける対象によって、質問のしかたを変えるのは誰でもよくあることだと思いますが、人間の場合は、ふつうの言葉 (自然言語) で問い合わせても、あるいは曖昧な尋ね方をしても、相手の意を汲んで回答してくれることが多いですよね。
これがコンピュータの場合、曖昧な尋ね方をすると、期待した回答が返ってくることはまずありません。そのため、ある決まった特殊な文法で問い合わせることで、厳密な問い合わせを行うことになります。
たとえばデータベースについて考えてみます。データベースはデータを保存するという基本的な仕組みしか持っていないので、自然言語を聞いてどんなデータを返せばよいか、なんて解釈はしてくれません。データベースに問い合わせるためには、ふつうはSQLという、データベースに対する問い合わせ専用の文法を持った言語を使います(*1)。だから、データベースに対しては、SQLを使ってクエリを発行することになります(*2)。
(*1) リレーショナルデータベースの場合
(*2) 「selectだけじゃなくinsertやupdateもクエリと呼ぶのはおかしい」という意見もあるかもしれませんが、DBに対する問い合わせって、ようするにデータの操作のことだから、データ操作をまとめて、「クエリ」という言葉に代表させたんだろう、と(僕は)理解することにしています
例えば検索エンジンについて考えてみます。(よくある)検索エンジンは、キーワードの集合を受け取って、それに関連したページのリストを返すように作られています。だから、検索エンジンに対しては、キーワードを空白で区切るなどしたリストをクエリとして与えることになります。
これらを総称して「人間がコンピュータに対して、主に情報を得るために入力する質問や問い合わせ」がクエリだと理解して、その形式は対象によっていろいろ異なることが分かれば良いと思います。
それは、しじまもさんがPC初心者ということなのでしょうか。
僕のプログラマーとしての知識が浅いのかもしれませんが、僕は「クエリー」とは何か、ということを意識したことは、正直、あんまりありません。
日本語なら「問い合わせ」ぐらいに置き換えて読んでます。
ユーザーからすれば、プログラムは入力と出力があるブラックボックスみたいなものです。
入力:Webブラウザに入力した文字列 -> [Google] -> 出力:検索結果
入力:SQL文の文字列 -> [データベース] -> 出力:テーブルから抽出、テーブルを操作した結果
ただ、その入力はプログラムに理解できるものである必要があります。
それがクエリです。
Googleに入力する文字列(検索クエリ)はスペースで区切って書きますし、SQLも文法とかルールがあります。
説明になってるか自信がないのですが、とりあえずマニュアル読んだり、使えるのであれば、あまり言葉の定義とか気にするほどのこともない用語のような気もします。