ゼロから始めるプログラム言語サイトのトップへ

第15回 SQL編 第2話 「少ないもの持ってきて」が通じるまで

第15回。全3ページを続けて読めます。

学習レクチャー・2026年9月15日更新

第15回 SQL編 第2話
「少ないもの持ってきて」が通じるまで

SELECTで探す

倉庫に品物の情報が集まった。

最初は3件だった一覧も、30件、100件と増えていく。全部を眺めていると、どこまで確認したか分からなくなる。

KAZU「在庫が少ないものだけ見せて。」

SQL「条件をどうぞ。」

KAZU「あなたもか。」

Pythonとのやり取りで学んだことが、ここでも役に立った。「少ない」を数字で決めればよい。

SELECT item, stock
FROM supplies
WHERE stock < 5;

これは、前回の supplies というテーブルがある前提の例だ。

頼み事は、三つに分かれている。

SELECT item, stock は「品名と在庫数を見せて」。

FROM supplies は「suppliesという表から」。

WHERE stock < 5 は「在庫が5より少ない行だけ」。

前回の表なら、手袋4とゴミ袋2が見つかる。

KAZU「文章みたいに読めるね。」

SQL「順番に読むと、何を頼んだか整理できます。」

学習レクチャー・2026年9月15日更新

第15回 SQL編 第2話
「少ないもの持ってきて」が通じるまで

少ない順に並べる

では、「少ない順に見たい」ときはどうするのだろう。

SELECT item, stock
FROM supplies
WHERE stock < 5
ORDER BY stock ASC;

ORDER BY は並べ方を指定する部分。ASC は小さい順を表す。これで、ゴミ袋2、手袋4という順番になる。

KAZU「さっきも、たまたま見やすい順だったけど。」

SQL「並び順が必要なら、明示してください。」

並び順を指定していない結果について、いつも同じ順番で出ると思い込まないことが大切だ。

学習レクチャー・2026年9月15日更新

第15回 SQL編 第2話
「少ないもの持ってきて」が通じるまで

取り出す列と実習

もう一つ、よく見かける書き方がある。

SELECT *
FROM supplies;

* は、この場合「すべての列」を意味する。表の中身を確認するには便利だが、画面で使う項目が決まっているなら、必要な列を指定すると目的が伝わりやすい。

SQLは魔法の検索係ではない。こちらが「何を」「どこから」「どんな条件で」と整理すると、必要な情報を取り出せる。

KAZU「探す技術というより、頼み方の技術でもあるんだね。」

SQL「その頼み方を、何度でも正確に実行できます。」

【ミニテスト】

在庫が5より少ない行に絞っているのは、どの部分?

A.SELECT
B.FROM
C.WHERE

答え:C。SELECTは取り出す列、FROMは元の表、WHEREは行を絞る条件。

【小さな実習】

条件を stock >= 5 に変えたら、前回の表から何が出るだろう。答えは、在庫9のペーパー。記号を変えると、探す側が反対になる。