前回の記事では「データベースとは何か」をお伝えしました。今回はいよいよ、データベースからデータを取り出す方法——SELECT文について解説します!
SELECT文って何?
SELECT文とは、データベースに保存されているデータを「取り出す」命令です。
図書館に例えると、「Aという本を持ってきて!」とスタッフに頼む行為がSELECT文です。何万冊もある本の中から、ほしい本だけをサッと取り出してもらえる——それがSELECTの役割です。
基本の書き方
最もシンプルなSELECT文はこちらです。
SELECT * FROM cafe_menu;
「*(アスタリスク)」は「全部」という意味。「cafe_menuテーブルの全データを取り出して」という命令です。
今回はカフェのメニュー表を例に考えてみましょう。こんなテーブルがあるとします。
| menu_id | menu_name | category | price |
|---|---|---|---|
| 001 | アメリカーノ | コーヒー | 350 |
| 002 | カフェラテ | コーヒー | 450 |
| 003 | 抹茶ラテ | ティー | 500 |
| 004 | チョコケーキ | スイーツ | 600 |
| 005 | チーズケーキ | スイーツ | 550 |
SELECT文を実行すると、このテーブルの全行・全列が返ってきます。
列を絞って取り出すには?
「メニュー名と値段だけ知りたい」という場合は、*の代わりに列名を書きます。
SELECT menu_name, price FROM cafe_menu;
Excelで言うと、特定の列だけを表示するイメージです。必要な情報だけを取り出せるので、実務でもとても便利です。
条件を付けて絞り込む(WHERE句)
「コーヒーカテゴリのメニューだけ見たい」という場合は、WHERE句を使います。
SELECT * FROM cafe_menu WHERE category = 'コーヒー';
「cafe_menuテーブルの中から、categoryが『コーヒー』のものだけ取り出して」という意味です。
Excelのフィルター機能と同じ感覚ですね。ただ、データが何万件あっても一瞬で結果が返ってくるのがデータベースの強みです!
まとめ
| やりたいこと | 書き方 |
|---|---|
| 全データを取り出す | SELECT * FROM テーブル名; |
| 特定の列だけ取り出す | SELECT 列名1, 列名2 FROM テーブル名; |
| 条件を付けて絞り込む | SELECT * FROM テーブル名 WHERE 条件; |
最初は「呪文みたい…」と感じたSELECT文ですが、カフェのメニュー表で考えると一気にイメージしやすくなりませんか?実は3パターンを覚えるだけで基本はOKです。職業訓練でも「まずSELECTに慣れること」と言われていました。
次回は、WHERE句でよく使う比較演算子やLIKE(あいまい検索)について解説します。「特定のキーワードを含むデータだけ取り出したい」というときに使えるので、ぜひお楽しみに!
職業訓練校でJava・データベースを学んだ40代3児の母がITエンジニアを目指して日々奮闘中。同じように学習中の方と一緒に成長していけたら嬉しいです!


コメント