本文へスキップ
BecomeCoder

SQL データ操作 (DML)コース · 第0章 データベースってなに? · レッスン0-2

手で探すのは、すぐ限界がくる

ブラウザで完結

導入

「表があるのはわかった。でも、なぜわざわざ SQL という言葉を覚えるの? 目で見て探せばよくない?」――このレッスンでは、その考えがすぐ限界にくることを体験してもらいます。ここが「DB とは何か」を実感する山場です。

説明

まず products を全部出してみましょう。

SELECT * FROM products;

ここで、あなたに手作業でお願いがあります。この一覧の中から「価格(price)が 10000 以上の商品だけ」を、目で追って拾い出してみてください。7件なら、まあできます。

では想像してください。もしこの表が7行ではなく 10万行 だったら? スクロールして目視で拾うのは、もう不可能です。見落とすし、時間もかかる。人間が手で探す前提だと、データは増えた瞬間に破綻するのです。

SQL なら、その「10000以上だけ」を、行数が何万あろうと一瞬・確実に取り出せます。次の章で学ぶ WHERE を使うと、こう書けます(今は動く様子を見るだけで大丈夫)。

SELECT * FROM products WHERE price >= 10000;

データ量が増えたときの差を並べると、一目瞭然です。

データ量目視で探すSQL(WHERE
7行まあできる一瞬
1万行数十分・見落とす一瞬
10万行ほぼ不可能一瞬・確実

「手作業なら地獄 → 1行で解決」。この落差こそ、データベースを使う理由そのものです。そして、いま書いた SELECT ... のような「DB への問い合わせ文」を クエリ(query)と呼びます。SQL とは、このクエリを書くための言語のことです。

やってみよう

まず初期表示の SELECT * FROM products; を実行し、目で「10000以上」を探してみて“だるさ”を味わってください。そのあと SELECT * FROM products WHERE price >= 10000; を実行し、一瞬で絞り込まれることを見比べましょう。

実際に動かしてみよう

下のエディタにクエリを書いて「実行」を押すと、ブラウザ内のSQLiteで結果が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう。

SQL — ブラウザ内で実行(SQLite)

ブラウザ内でSQLを動かす環境(SQLite)を読み込みます(初回のみ一瞬)。
スクロールして表示された時点でも自動で読み込まれます。