見出し画像

【超初心者向け】SQLのSELECT文の基本を簡単に解説![抽出編]

■SELECT文とは

SELECT文とは「データベースから、データを取得する命令」です。このSELECT文を使用することで、データベースからデータを簡単に取得することが出来ます!

■テーブル例

111_SQL_元データ表_抽出

今回は八百屋さんの商品データを管理するテーブル「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;

【結果】

+--------------+
| 商品名       |
+--------------+
| レモン       |
| きゅうり     |
| バナナ       |
| 鮭        |
+--------------+

いかがでしたでしょうか。次回はデータ操作編です!徐々に覚えていきましょう!

▼参考記事



この記事が気に入ったらサポートをしてみませんか?