【くえりー】

クエリ とは?

最終更新:
💡 欲しいデータを条件で問い合わせる

データや情報への問い合わせ。データベースではSQLのSELECT文などを指し、広い意味で更新文を含めることもあります。検索やURLでも使われる言葉なので、文脈と問い合わせ先を区別します。

📌 このページのポイント
クエリ:条件に合う情報を問い合わせるアプリ結果を読むDB検索するSQLの要求結果取得するクエリの例SELECT name FROM usersWHERE age > 20 ORDER BY id;20歳より大きい行の名前をid順に取得CRUDは操作の分類。SQL文の頭文字ではない取得と、データを変える更新文を区別する
上は取得要求、下は結果の返却です。テーブルと列は架空の例で、結果の順序はORDER BYで指定します。
ひよこ ひよこ
クエリって何?
ペンギン先生 ペンギン先生
欲しい情報を問い合わせることだよ。DBでは「条件に合うデータを取得したい」と伝える文などを指す。検索の文脈でも使うので、何に対する問い合わせかを確認しよう。
ひよこ ひよこ
SQLではどう書くの?
ペンギン先生 ペンギン先生
例えばSELECT name FROM users WHERE age > 20 ORDER BY id;なら、usersの中から年齢が20より大きい行のnameを取得し、idの順に並べる。列名やテーブルは架空の例で、実際のDBに合わせる必要があるよ。
ひよこ ひよこ
SELECTのSからCRUDになるの?
ペンギン先生 ペンギン先生
違うよ。CRUDはCreate・Read・Update・Deleteの頭文字。データを作成・読む・更新・削除するという操作の分類で、SQLではINSERT・SELECT・UPDATE・DELETEなどが対応するんだ。
ひよこ ひよこ
クエリは、いつもデータを読むだけ?
ペンギン先生 ペンギン先生
文脈による。厳密に取得の問い合わせを指す場合と、更新文なども含めて呼ぶ場合がある。SQLを実行するときは、取得だけなのかデータを変更するのか、内容と権限を確認しよう。
ひよこ ひよこ
遅いときは文章を短くする?
ペンギン先生 ペンギン先生
短さだけでは決まらない。対象のデータ量、索引、実行計画、結果の量や要求回数を調べる。PostgreSQLではEXPLAINで計画を確認できる。ただしEXPLAIN ANALYZEは実際に実行するので、更新文などの副作用に注意が必要だよ。
もっと詳しく知りたい人へ

URLにある「?q=…」もSQL?

URLの「?」から「#」または末尾までがクエリ部分です。そこにパラメーターを入れる例はありますが、SQLそのものという意味ではありません。受け取った値をどう使うかは、そのWebサービスの処理によります。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「クエリ」って出てきたら「情報への問い合わせ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Query」 = 質問・問い合わせ
💬 検索への問い合わせ、DBの問い合わせ、URLのクエリ部分など、使われる場面によって対象が異なります。

参考資料

← 用語集にもどる