0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQLを学びます。③ 後編

Posted at

初めに

こんにちはiwanagaです。
前回に引き続きSQLのSELECT文の学習を進めていきます。
今回も前回同様に下記のテーブルを元に学習を進めていきます。

テーブル名:grade1_class2

出席番号(number) 名前(name) 性別(gender) 身長(height)
1 アベ 170
2 イトウ 160
3 ウエノ 190
4 エガシラ 172
5 オオノ その他 175
6 ボブ 200

WHERE文

前回学習したSELECT文に今回はWHEREを追加していきます。WHEREがあることでカラムだけではなく更に条件を絞って特定のフィールドを抽出することが出来ます。これを文にすると...
→SELECT [抽出したいカラム] FROM [使用テーブル] WHERE [条件];になります。
なのでこれを上記のテーブルに当てはめると下記のようになります。

SELECT * FROM grade1_class2 WHERE 171 <= height;

そうすると下記の様な結果がでます。

出席番号(number) 名前(name) 性別(gender) 身長(height)
3 ウエノ 190
4 エガシラ 172
5 オオノ その他 175
6 ボブ 200

カラムの身長(height)の中から更に171cm以上に絞り結果を出すことが出来ます。

更にWHERE文では複数の条件で絞ることが出来ます。その内容を文にすると
→SELECT [抽出したいカラム] FROM [使用テーブル] WHERE [条件① AND 条件②];になります。なのでこれを上記のテーブルに当てはめると下記のようになります。

SELECT * FROM grade1_class2 WHERE 171 <= height AND gender=`男`;

そうすると下記の様な結果がでます。

出席番号(number) 名前(name) 性別(gender) 身長(height)
3 ウエノ 190

便利ですね。

ORDER BY文

ORDER BYは少し特殊なのですが、テーブルから抽出すると言うよりも、条件を提示して並び替える文になります。

例えば上記のテーブルを身長順にして見たい場合、今までのSELECT文だと出来ないので抽出ではなく並べ替える必要があります。その内容を文にすると、SELECT [抽出したいカラム] FROM [使用テーブル] ORDER BY [ソートしたい要素] [昇順・降順の指定];となります。なのでこれを上記のテーブルに当てはめると下記のようになります。

SELECT * FROM grade1_class2 ORDER BY height desc;

すると下記の様な結果が出ます。

出席番号(number) 名前(name) 性別(gender) 身長(height)
6 ボブ 200
3 ウエノ 190
5 オオノ その他 175
4 エガシラ 172
1 アベ 170
2 イトウ 160

※[昇順・降順の指定]部分へは、asc(昇順)、desc(降順)のどちらかを指定できます。
※ 省略した場合が昇順となります。

GROUP BY

グループに分けてその数字を抽出した場合、GROUP BY文が使えます。文にすると、SELECT [取得したいカラム] FROM [使用テーブル] GROUP BY [グループ化したい要素];となります。

上記のテーブルの場合、性別で分けをすると下記の文になります。

SELECT gender, count( * ) FROM grade1_class2 GROUP BY gender;

すると下記の様な結果が出ます。

gender count( * )
2
2
その他 1
1

個人的によく使います。

AS文

これは抽出した際の結果の表示方法になります。例えば上記のテーブルにあるカラム"出席番号(number)"をIDとした上で中有出する場合下記の様になります。

select number AS "ID" from grade1_class2;

すると下記の様な結果が出ます。

ID
1
2
3
4
5
6

最後に

SELECT文一つとっても色々ありますね。

ただ他にも色々あるのでこれからもどんどん紹介していきたいと思いますのでよろしくお願いいたします。

皆様今回もご覧いただきありがとうございました!

参照
https://www.sejuku.net/blog/72964

エンジニアファーストの会社 株式会社CRE-CO iwanaga

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?