【超初心者向け】SQLのSELECT文の基本を簡単に解説![抽出編]
■SELECT文とは
SELECT文とは「データベースから、データを取得する命令」です。このSELECT文を使用することで、データベースからデータを簡単に取得することが出来ます!
■テーブル例
今回は八百屋さんの商品データを管理するテーブル「item_list」を作りました。このテーブルを元に進めます!
■SELECT文の基本構文
SELECT [取得する要素] FROM [元テーブル];
欲しい情報、どのテーブルから取得、これを指定するだけでOK!
早速、SELECT文でデータ取得を実行してみましょう。
①全項目を取得
取得する要素の項目に*を入れることで、全ての要素を取得することが可能です。
例 全項目を取得
SELECT * FROM item_list
【結果】
+------+--------------+--------------+-------+
| id | product | category | price |
+------+--------------+--------------+-------+
| 1000 | レモン | フルーツ | 110 |
| 1001 | きゅうり | 野菜 | 130 |
| 1002 | バナナ | フルーツ | 120 |
| 1003 | 鮭 | 魚 | 160 |
+------+--------------+--------------+-------+
②指定要素のみ取得
取得する要素の項目を入れることで、指定した要素のみ取得することが可能です。
例 商品名(product)のみを取得
SELECT product FROM item_list;
【結果】
+--------------+
| product |
+--------------+
| レモン |
| きゅうり |
| バナナ |
| 鮭 |
+--------------+
③複数の指定要素を表示
「,」で要素を区切って指定することで、指定した複数要素を取得出来ます。
例 「商品名(product)」と「価格(price)」のみを取得
SELECT product,price FROM item_list;
【結果】
+--------------+-------+
| product | price |
+--------------+-------+
| レモン | 110 |
| きゅうり | 130 |
| バナナ | 120 |
| 鮭 | 160 |
+--------------+-------+
■条件設定「WHERE」
条件を設定して、例えば「価格が120以上の商品だけを取得する」ことが出来ます。SELECT文の後方にWHEREを追加するだけで出来ます。
SELECT [取得する要素] FROM [元テーブル] WHERE [条件文];
例 価格が120以上の商品だけを取得する
SELECT * FROM item_list WHERE 120 >= price;
【結果】
+------+--------------+--------------+-------+
| id | product | category | price |
+------+--------------+--------------+-------+
| 1001 | きゅうり | 野菜 | 130 |
| 1002 | バナナ | フルーツ | 120 |
| 1003 | 鮭 | 魚 | 160 |
+------+--------------+--------------+-------+
■ソート機能「ORDER BY」
出力する順番をソートといい、このソートも簡単にできます。ソートにはORDER BYを使用します。
SELECT [取得する要素] FROM [元テーブル] ORDER BY [ソートする要素] [昇順・降順の指定];
[昇順・降順の指定]は、asc(昇順、小さい値から)、desc(降順、大きい値から)のどちらかを指定できます。※ 省略した場合は昇順
例 価格を降順で表示
SELECT * FROM item_list ORDER BY price desc;
【結果】
+------+--------------+--------------+-------+
| id | product | category | price |
+------+--------------+--------------+-------+
| 1003 | 鮭 | 魚 | 160 |
| 1001 | きゅうり | 野菜 | 130 |
| 1002 | バナナ | フルーツ | 120 |
| 1000 | レモン | フルーツ | 110 |
+------+--------------+--------------+-------+
■グループ分け機能「GROUP BY」
SELECT [取得する要素] FROM [元テーブル] GROUP BY [グループ化する要素];
例 カテゴリ別の商品合計数を知りたい時
SELECT category, count( * ) FROM item_list GROUP BY job;
【結果】
+--------------+----------+
| category | count(*) |
+--------------+----------+
| フルーツ | 2 |
| 野菜 | 1 |
| 魚 | 1 |
+--------------+----------+
表示名を変更
「AS」で表示名を変更することが可能です。
select [取得する要素] AS [変更する名前] from [元テーブル];
例 「product」→「商品名」と表示する
select product AS "商品名" from item_list;
【結果】
+--------------+
| 商品名 |
+--------------+
| レモン |
| きゅうり |
| バナナ |
| 鮭 |
+--------------+
いかがでしたでしょうか。次回はデータ操作編です!徐々に覚えていきましょう!
▼参考記事
この記事が気に入ったらサポートをしてみませんか?