Day 1・取り出す — SELECT でデータを読む
SELECT と FROM — どこから何を取り出すか
データベースから欲しい列を取り出す一番基本の形、SELECT ... FROM ... を読めるようにします。
データに「これください」とお願いする
SQL は、たくさんのデータをしまってある倉庫(データベース)に「これください」とお願いするための言葉です。その中でいちばん基本のお願いが SELECT(セレクト)です。「どの列がほしいか」を SELECT で、「どの表(テーブル)から取り出すか」を FROM で伝えます。
たとえるなら、名簿を持った係の人に「この名簿から、名前と年齢のところだけ書き写してください」と頼む注文書のようなものです。SELECT が「書き写してほしい項目」、FROM が「どの名簿から」にあたります。
SELECT name, age
FROM users;上の文はこう読めます。「users テーブルから、name と age を取り出してください」。取り出したい列はカンマ(,)で区切って並べます。最後のセミコロン(;)は「お願いはここまで」という区切りの合図です。
SELECT * ってなに?
SELECT のあとに書く * は「全部の列」という意味です。SELECT * FROM users; と書くと、name も age も、その表にある列を丸ごと全部取り出します。列を選ぶのが面倒なときの「とりあえず全部見せて」ボタンだと思ってください。
ぼんやりしたお願い
「users のデータちょうだい」だけでは、機械はどの列がほしいのか分かりません。
はっきりしたお願い
SELECT name, age FROM users; なら、ほしい列と取り出し元がひと目で分かります。
なぜ列を選ぶの?
全部の列を出す(SELECT *)と楽ですが、必要ない情報まで出てきて見づらくなります。ほしい列だけを名指しすると、結果がすっきりして、何を見たいのかも伝わりやすくなります。
AIにはこう聞く
「users テーブルから name と age だけを取り出す SQL を書いて、各行が何をしているか日本語でコメントを付けて」
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
SELECT name, age FROM users; の FROM の役割はどれ?
SELECT * FROM users; の * はどういう意味?
SELECT と FROM がそれぞれ何を指定するものか、SQL を知らない人に一言で説明してみましょう。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。