• ベストアンサー

クエリって何

クエリとSQLの違いがわかりませんどちらもDBエンジンに削除や抽出や結合などを命令する言語じゃないんですか?よくわかりません

質問者が選んだベストアンサー

  • ベストアンサー
  • yujit84
  • ベストアンサー率18% (8/43)
回答No.5

SQLとは、Standard Query Languageの略です。 それに対して、クエリとはDBエンジンに問い合わせして、 結果を取得する行為自体を指しています。 では、どんな言葉でDBエンジンに問い合わせすればいいのでしょう? DBエンジンが異なる場合にはそれぞれ違う言語で問い合わせしなくちゃいけなかったら大変ですよね? 共通のスタンダードな言語があれば、 憶えるのが一回で便利だと思いませんか? つまり、それがSQLです。

hirohiro8888
質問者

お礼

たいへんわかりやすい解説ありがとうございます。理解できました。

その他の回答 (4)

  • mr_rengel
  • ベストアンサー率36% (399/1080)
回答No.4

SQLとはIBMが開発したデータベースの操作用言語でANSIやJISで標準化されている世界標準規格です。 リレーショナルデータベースの操作に使います。 現在データベースの主流はリレーショナルデータベースですので殆どのクエリーはSQLで記述されていると言っても過言ではないかもしれません。

  • mr_rengel
  • ベストアンサー率36% (399/1080)
回答No.3

【クエリー】  データベース管理システムに対する処理要求(問い合わせ)を文字列として表したものです。  データの検索や更新、削除などの命令をシステムに発行するのに使われます。  検索クエリーでは、対象となるテーブルやデータの抽出条件、並べ方などを指定します。  一度作成したクエリーは保存しておいて何度も使うことができるようになっているものが多いです。 【SQL】  クエリーの記述に使われる言語です。

hirohiro8888
質問者

お礼

クエリ自体はSQLで書かれてるんですか?

  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.2

クエリは、要求(検索、更新、削除、登録)を文字列として表したものです。 SQLとは、上記を実現するための言語です。 SQLには、DBによって方言があります。

noname#25230
noname#25230
回答No.1

Query、を辞書で引いてみましょう。問い合わせ、疑問、質問、という意味です。 すなわち クエリ > SQL 問い合わせという行為を行うための道具の1つが「SQL」です。ただ、Accessなどの場合、クエリ=SQLのように表現されているのでわかんなくなりますが、本来の意味合いを考えると上記のようになると思います。 たとえば、あるクエリをデータベースに投げかける場合、別にSQLを使わなくても、指定したデータを何らかの方法で取り出せれば、別に目的は達成できるわけです。

関連するQ&A

  • Accessの削除クエリで「クエリが複雑すぎて実行できません」

    困っています。どなたかご存知の方がいらっしゃいましたらお願いしますm_ _m (1)Aクエリ(選択クエリ)とBテーブルを削除クエリでつなぐ(結合プロパティはAクエリ全件から→B) (2) (1)の削除クエリは、 B全件から(From B*) Bのフィールド40列ぐらい(数値列)を落とし、 (Where 条件「0」←数値ゼロをいれる) (3)削除クエリを実行すると、「複雑すぎて実行できません。」というエラーメッセージがでてきて実行できません。何か駄目なのでしょうか? やりたいことは、 Bテーブルを、 Aクエリにあるレコードは抽出し、のちフィールドの値が0のものは削除したいのです。 よろしくお願いします。

  • SQLite 生のクエリ

    質問させて頂きます。お願いします。 Cursor cursor = db.rawQuery(sql.toString(), null); 「rawQuery( )」ですが調べて引数にSQL文を入れるものだという事と生のクエリを実行する物だという事はわかったのですが 生のクエリである事に意味はあるのでしょうか? また生のクエリとは何ですか? http://docs.djangoproject.jp/en/latest/topics/db/sql.html

  • クエリのフロー図の名前

    教えてください。 SQLで作業用のクエリをたくさん作りました。 クエリ同士をどのように参照させ、どこでどんな結合やグループ化を行っているかを、整理するためのフロー図のようなものを作りたいです。 IT業界で標準的な、クエリの結合等を示すためのフロー図などはないでしょうか? 名前がありましたら教えてください。 尚、Accessだとクエリのデザインビューでそれらしいものを簡単に見ることができると思うのですが、使っているのがAccessではない為、デザインビューは使えないです。 (使っているSQLはPower Queryです)

  • クエリファイルから外部のクエリファイルを実行する方法

    SQL Server2000です。 DB構築を行うにあたり、インストールで実行するクエリファイルから、 別のクエリファイル(実際にテーブル、ストアドを構築する内容を記述)を実行できる方法がわからず悩んでいます。 a.sql・・・b.sqlやc.sqlを統括するクエリファイル b.sql、c.sql・・・テーブル構成、ストアドを構築するクエリファイル SQL クエリアナライザからa.sqlのクエリファイルを開いて、 クエリ実行するイメージでいます。 a.sqlからb.sqlを呼び出すには、どのような記述をすればよろしいのでしょうか? よろしくお願いします。

  • SQL

    SQLクエリの事ですが、、 別のDBと結合しクエリ実行は可能なのですか? 教えて下さいお願い致します。

  • sqlite_query()に関する質問

    ブラウザからポストでSQL文を受け取り、それをもとにDBを作成するスクリプトを考えています。 スクリプトの実行権限は、ページにログインできたユーザ(サイト管理者)のみ与えられています。 では、質問に移ります。 スクリプトに渡される$_POST['sql']の値が、クエリ文の言語仕様的に正しい書式ではなかった場合、 $sql = sqlite_escape_string($_POST['sql']); sqlite_query('hoge',$sql); の結果は、 Warning: sqlite_query() [function.sqlite-query]: near "なんたら~": syntax error in /なんたら~ といったエラーを吐き、 さらに、ファイルサイズ0の余計なクズファイルが作成されてしまうのですが、、 このクズファイルが結果的に作成されないように設計するには、どのようにしたら良いでしょうか。 私なりに2つの方法を考えてみましたので、アドバイスを頂けると嬉しいです。 (1) $_POST['sql']の時点で正規表現をもとに、SQL文の書式が正しいかチェックをし、 誤った書式のSQL文をsqlite_query()に渡すことを回避する方法。 ※私の能力的に、希望とする正規表現を正確に考え出すことができるか、はなはだ怪しいため、 できれば、避けたい方法です。 (2) 正規表現を使った方法だと、やや繁雑になりそうなので、それはやめにし、 ひとまず、SQL文の正誤を問わず、sqlite_query()を実行させ、 その結果、クズファイルが出来てしまうようなら削除する、といった方法。 ※クズファイルが生成されたかどうかのチェックは、 生成されたファイルのファイルサイズ == 0? をもとに行います。 ※ただし、私の利用するサーバの仕様上、 クズファイルは 所有者=「apache」 として作成されてしまうため、 もしかしたら、スクリプトからは削除できないかもしれません。 その場合には、こちらの方法は廃案となります。汗 (3) その他の方法(オススメの方法がありましたら、是非教えて下さい!) 以上、どなたか、ご助言よろしくお願い致します。

    • ベストアンサー
    • PHP
  • アクセスのクエリについて

    こんなクエリを作成したいのですが、何か手はありませんか? <タイトルDB> ID NAME ─────── 1  あ 2  い 3  う 4  え 5  お <注文DB> ID cnt ─────── 1  10 4  20 5  30 2つのDBをIDで結合してクエリを作成すると name cnt ─────── あ  10 え  20 お  30 と出力されるかと思います。 これを下記の感じに出したいのですが name cnt ─────── あ 1 い 0 う 0 え 2 お 3 とにかく、0件と表示させたいのです。

  • ACCESSのクエリ実行について

    ACCESSのクエリを作成しておりますが  ・クエリを「開く」で実行すると固まる  ・クエリを「デザイン」でSQL文表示させてから実行すると固まる  ・クエリを「デザイン」でSQL文表示させてコピーし、   コピーしたSQL文を新規クエリに貼り付け、実行すると正しく動作する 上記現象の場合、考えられる原因はなんでしょうか? 環境はWIN2K、ACCESS97を利用しております。 SQL文は追加クエリ(INSERT文)で、抽出行数は1000行程度です。

  • クエリーの作り方

    SQLから、Postgres上のデータを参照しています。 まず、この形式で取り出そうとしています。 $query = 'select * from comment where oya = ■■'; この、■■のところには整数が入りますが、 事前にアレイに入れてある数字「 $DB_data[0] 」から、 whileでぐるぐる回して検索したいのですが、 こうすると、エラーになります。 $query = 'select * from comment where oya = $DB_data[0]'; エラー Query failed: ERROR: syntax error at or near "$" at character 何か良い手はないでしょうか? 別のテーブルの数値を持ってきて、$を使わずに検索できれば・・ こういうのも可能でしょうか・・?

    • ベストアンサー
    • PHP
  • access97とSQLserver6.5間のデータ連携

    access97とSQLserver6.5を用いたシステムで、SQLのDB内にあるマスタから複数個の項目を抽出し、別のデータ(これもSQLのDB内にあります)へ書き出しを行なおうとしています。 その際、accessのフォームから insert into 命令をかけて実行しているのですが、受け側 の項目の桁数が送り側の桁数よりも小さい場合、エラーがでてしまいます。 同じ事をSQLのクエリーツールで実行させるとできてしまうので、訳がわかりません。 アドバイスいただければ幸いです。 よろしくお願いいたします。