【せれくとぶん】
SELECT文 とは?
最終更新:
💡 データベースから「データを取り出す」ための基本SQL
データベースからデータを取得するためのSQL文。テーブルから必要なカラムや行を指定し、条件付きで検索・並べ替え・集計などを行う最も基本的な操作。
📌 このページのポイント
- SELECTで取り出す列や式、FROMで取得元を指定する
- WHERE句で行を絞り、GROUP BYと集約関数で集計できる
- ORDER BYで並べ替える。PostgreSQLなどではLIMITで件数を制限できる
- JOINやサブクエリと組み合わせて複雑な問い合わせも書ける
SELECT文の基本的な書き方を教えて!
「SELECT name, age FROM users」なら、usersテーブルからnameとageの列を取り出すよ。「WHERE age >= 20」を加えると、20歳以上の行に絞れる。「SELECT *」の星印は、取得元のすべての列を表すんだ。
SELECT *はいつ使うの?
全列を確認したいときに便利だよ。アプリで必要な列が決まっているなら、列名を明示すると、不要な列を取得せず、テーブルに列が増えても結果の列をそろえやすい。使う目的に合わせて選ぼう。
取得する順番や件数はどう決めるの?
「ORDER BY age, name」なら年齢順に、同じ年齢では名前順に並べるよ。ORDER BYがなければ行の順番は保証されない。PostgreSQLなどで末尾に「LIMIT 2」を加えると最大2行になる。件数制限の構文は製品ごとに異なり、毎回同じ範囲を取るなら同順位の行も区別できる並び順が必要だよ。
SQLは、書いた順に実行されるの?
DISTINCTって重複を消すんだよね?
そう、結果の行で重複する組み合わせをまとめるよ。「SELECT DISTINCT age FROM users」なら年齢の種類を取り出せる。正当な用途があるので、DISTINCTが必要だから設計ミスとは言えない。ただし、JOINの条件を誤って行が増えた場合は、その原因を調べよう。
📖 おまけ:英語の意味
「SELECT」 = 選択する
💬 英語の「select(選ぶ)」そのまま。テーブルから必要なデータを選んで取り出すイメージ