初めに
こんにちは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