メインコンテンツへスキップ
見出し画像

SQL初心者、SELECT・FROM・WHEREはどこに何を書く? 商品表で整理してみた

    こんにちは。

    金に目がない猫です。🐈🪙

    ProgateでSQLを勉強しました。

    英単語の意味から働きをつかみやすい一方で、どこに何を書くかを覚えるのは難しいと感じました。

    今回は、SELECT・FROM・WHEREの後ろに何を置くのか、架空の商品表で整理します。

    「言葉の意味は分かる。でも、自分で書こうとすると迷う」という人向けの話です。


    まず「何を・どこから・どんな条件で」

    今回使う基本形は、こちらです。

    SELECT 表示する列
    FROM   データが入っている表
    WHERE  行を絞る条件;

    これは役割を説明するひな形です。そのまま実行するコードではありません。

    列は「商品名」「価格」といった縦の項目。行は、商品一つ分のデータです。

    この形では、SELECTで表示する列、FROMで使う表、WHEREで行を絞る条件を指定します。SQLite公式のSELECT解説

    英単語だけでなく、その後ろに何を書くかまで並べると、確認する場所が決まります。


    「300円以下の商品」を取り出してみる

    説明用に、itemsという商品表を用意したとします。

    僕の買い物記録でも、教材の問題でもありません。価格の単位は円です。

    name(商品名)price(価格)pen150notebook300pouch500

    ここから、300円以下の商品名と価格を取り出すコードがこちらです。

    SELECT name, price
    FROM items
    WHERE price <= 300;

    上の商品表が、すでに用意されている前提です。

    一行ずつ読むと、

    • SELECT name, price:商品名と価格を表示する

    • FROM items:itemsという表から取り出す

    • WHERE price <= 300:価格が300以下の行に絞る

    <=は「以下」なので、300円ちょうどの商品も含みます。

    結果に含まれるのは、次の二つです。表示順は、このコードでは指定していません。

    namepricepen150notebook300

    500円のpouchは、条件に合わないので含まれません。

    安いものを探す条件なら、金に目がない猫にも話が早いです。書く場所を覚える仕事は残っていますが。


    300は、なぜそこに書く?

    今回の300は、取り出す商品の価格の上限です。

    だから、条件を表すWHERE price <= 300の中にあります。

    「数字はここに置く」と丸暗記するより、「この数字は何を決めているか」を見る。

    この例では、商品名でも表の名前でもなく、「いくら以下か」を決めています。

    ただし、SQLの数字がいつもWHEREに入るわけではありません。今回の一文での役割として覚えてください。

    では、200円以下に変えたいときはどうするか。

    SELECT name, price
    FROM items
    WHERE price <= 200;

    変えるのは、条件の数字だけです。

    使う表も、表示する列も同じ。今度は150円のpenだけが条件に合います。


    迷ったら、コードの前に日本語で書く

    この例なら、次の三つを埋められます。

    表示したいもの:商品名と価格
    使う表:items
    条件:価格が300円以下

    それをSELECT・FROM・WHEREの後ろに置いていく。

    SQL全体に使える万能な型ではありませんが、今回の基本形を書くときの手がかりにはなります。

    練習するなら、同じ表で「150円以下だったら、どの商品が残るか」を先に考えてから、条件を書き換えてみてください。

    僕が今回の学習で感じたのは、英単語から意味をつかめることと、書く位置を覚えることは別だということでした。

    同じように勉強している方は、よかったらフォローして、またのぞきに来てください。

    それでは、また小判探しで。🐈🪙

     
     
    お金を増やしたい大学生「金に目がない猫」です🐈🪙 生成AI・Python・副業を実際に試しながら、初心者目線で分かりやすく発信中。 小判0枚から、どこまで増やせるか挑戦しています。

    あなたへのおすすめ