✨
SQL基本知識(SELECT,WHERE,集計関数,GROUP BY)
PythonやRを扱うにはSQLの知識があった方がいい!らしいです!
SQLのメリット
- データ分析はもちろんビジネスサイドでも活躍できる
- 欲しいデータを取り出すことが可能となる
SQLの注意点
- 複雑な集計はPythonやExcelでやった方が早いこともある
- どこにどんなデータが格納されているのかを把握しておかなくてはいけない!
基本的なSQLの4つの構文を自分のためにまとめておきます!
SELECT文
- テーブルにデータを挿入するINSERT
- テーブルからデータを削除するDELET
- テーブルを更新するUPDATE
- データを抽出するSELECT
データベースエンジニアでなければSELECT以外はあまり使わないのでまずはSELECTを覚える!
このような購入データがあるとして
名前 | 性別 | 購入金額 |
---|---|---|
ボブ | 男 | 1000 |
サム | 男 | 2000 |
サリー | 女 | 3000 |
エリー | 女 | 4000 |
SELECT * FROM テーブル名
「*」を使うと全てのデータを抽出できる!
そのため上記のコードを使うことによって
名前 | 性別 | 購入金額 |
---|---|---|
ボブ | 男 | 1000 |
サム | 男 | 2000 |
サリー | 女 | 3000 |
エリー | 女 | 4000 |
名前,性別,購入金額,全てがそのまま出てくる!
もし名前だけ抜き出すのであれば以下のコードを使う!
SELECT 名前 FROM テーブル名
そうすると
名前 |
---|
ボブ |
サム |
サリー |
エリー |
このように名前だけが表示される!
WHERE文
名前 | 性別 | 購入金額 |
---|---|---|
ボブ | 男 | 1000 |
サム | 男 | 2000 |
サリー | 女 | 3000 |
エリー | 女 | 4000 |
もし男性だけの名前と購入金額が知りたいのであれば以下のコード
SELECT 名前,購入金額 FROM テーブル名 WHERE 性別="男"
そうすると
名前 | 購入金額 |
---|---|
ボブ | 1000 |
サム | 2000 |
このように抽出される!
集計関数
男性だけの合計購入金額を知りたいのであればSUM関数を使う!
AS ~~でわかりやすい名前をつけることができる!
SELECT SUM(購入金額) AS 合計購入金額 FROM テーブル名 WHERE 性別 ="男"
↓
合計購入金額 |
---|
3000 |
平均購入金額を知りたいならAVG関数
SELECT AVG(購入金額) AS 平均購入金額 FROM テーブル名 WHERE 性別 ="男"
↓
平均購入金額 |
---|
1500 |
GROUP BY
男性の合計購入金額と女性の合計購入金額を求めるには
SELECT SUM(購入金額) AS 合計購入金額 FROM テーブル名 WHERE 性別 ="男"
SELECT SUM(購入金額) AS 合計購入金額 FROM テーブル名 WHERE 性別 ="女"
というコードになるが、性別ごとに打つのは面倒くさいですね
そんな時に役立つのがGROUP BYです!
SELECT SUM(購入金額) AS 合計購入金額 FROM テーブル名 GROUP BY 性別
↓
性別 | 合計購入金額 |
---|---|
男 | 3000 |
女 | 7000 |
このようにGROUP BYを使うと指定した列に入っている要素ごとの集計結果を算出してくれます!
すっきりしてる!
日別の売上,月別の売上,年代別の売上等、条件を絞った上での集計に役立ちます!
複雑な集計はPythonやExcelでやった方が早いこともある
Discussion