【SQL】基本のまとめ2
内容
SQLを勉強し始めたので、これまでに学んだ知識をまとめます。
長くなったので【SQL】基本のまとめ1とこの記事に分けました。
この記事の内容
- 便利なコマンド
- AND, GROUP BY, HAVING, DISTINCT
- 結果を見やすくするコマンド
- ORDER BY, LIKE, LIMIT, AS
- より多くのデータを使うためのコマンド
- サブクエリ, JOIN
以下の内容を知りたい方は【SQL】基本のまとめ1へ
- SQLとは
- データベース内の名称
- 基本のコマンド
- SELECT, FROM, WHERE, NOT
- 四則演算や集計のコマンド
- AVG, SUM, COUNT, MIN, MAX
下の例で用いるデータのテーブル
cakes
id | type | name | price | cost |
---|---|---|---|---|
1 | ケーキ | ショートケーキ | 300 | 100 |
2 | ケーキ | モンブラン | 400 | 200 |
3 | ケーキ | チーズケーキ | 200 | 50 |
4 | タルト | フルーツタルト | 400 | 300 |
5 | ゼリー | コーヒーゼリー | 200 | 50 |
6 | タルト | チョコレートタルト | 300 | 70 |
sales_january
cake_id | total |
---|---|
1 | 56 |
2 | 80 |
3 | 35 |
4 | 67 |
5 | 98 |
6 | 23 |
便利なコマンド
条件を複数入れる
- かつAND
またはOR
: 300円以下のケーキを知りたい
SELECT name
FROM cakes
WHERE type = "ケーキ" AND price <= 300;
グループ別にデータを見る
- GROUP BY
: 商品の種類別の合計金額を知りたい
SELECT type, SUM(price)
FROM cakes
GROUP BY type;
グループ別に条件にあったデータを見る
- HAVING
: 平均コストが150円以下の商品タイプを知りたい
SELECT type, AVG(cost)
FROM cakes
GROUP BY type
HAVING AVG(cost) <= 150;
重複なくデータを取り出す
- DISTINCT(カラム名)
: どんな種類の商品があるか知りたい
SELECT DISTINCT(type)
FROM cakes;
結果を見やすくするコマンド
データの並び順を決める
- 降順 DESC
昇順 ASC
: 値段が高い商品から順に並べる
SELECT name, price
FROM cakes
ORDER BY price DESC;
一定のキーワードを含むデータを取り出す
- LIKE
%
(%
はSQLにおけるワイルドカード。どの文字列にも一致することを指す)
: 名前に「ケーキ」を含む商品を知りたい
SELECT name
FROM cakes
WHERE name LIKE "%ケーキ%";
取り出す件数を制限する
- LIMIT
: 値段が安い上位5商品を知りたい
SELECT name, price
FROM cakes
ORDER BY price ASC
LIMIT 5;
カラムの名前を変更して出力する
- AS
: price-costを利益という名前で出力する
SELECT name, price - cost AS "利益"
FROM cakes
より多くのデータを使うためのコマンド
サブクエリを用いて条件を指定する
- ()
: チョコレートタルトよりも安い商品の名前と値段を知りたい
SELECT name, price
FROM cakes
WHERE price < (
SELECT price
FROM cakes
WHERE name = "チョコレートタルト"
)
;
複数のテーブルを用いて分析を行う
- JOIN テーブル名
ON 結合の条件
テーブル名.カラム名
- 複数のテーブルに同じカラム名がある場合は、SELECTの後もテーブル名.カラム名
で指定する
: sales_januaryにある、商品が売れた個数を並べて出力したい
SELECT name, total
FROM cakes
JOIN sales_january
ON cakes.id = sales_january.cake_id;
まとめ
SQLの最初に学ぶ基本をまとめました。
コマンドを組み合わせることで、例に出したよりもさらに色々な分析ができます
Author And Source
この問題について(【SQL】基本のまとめ2), 我々は、より多くの情報をここで見つけました https://qiita.com/kikuri426/items/9fa8f1b458109ee1a4fa著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .