あしあと

明日の自分への情報発信

SQLの学習(3日目)とプロになるためのweb技術入門(8日目)

 progateのSQL道場。いわゆる復習的なやつ。

count *はcount(カラム名)が特定のカラムのデータ数を表すのに対し、NULLも含めた全てのレコードデータの取得をする。

f:id:keropp1234:20200115195356p:plain

 

SELECT age, COUNT(*)
FROM users
GROUP BY age;

の場合、なぜcount(*)なのかよくわからない。NULLも含めたいから?でも必要ないような...よくわからない。

 

曖昧だったもの

COUNT関数

DISTINCT

 

四則演算

1個あたりの利益を計算するには商品の値段 - 商品の原価で計算できる。コードとしては下の画像のように「price - cost」のように書く。

f:id:keropp1234:20200115180602p:plain

 

集計関数とも併用できる。MAX, MIN, SUM, AVG などの集計関数は、図のようにして四則演算と併用できる。
利益、利益率の計算と組み合わせることで、利益が最も大きい商品を求めたり、商品全体の利益平均を求めたりすることが可能になる。

f:id:keropp1234:20200115180826p:plain

 

ORDER BYと四則演算を組み合わせることで、利益の高い順に並べたりもできる。

f:id:keropp1234:20200115180929p:plain

 

web技術入門

とりあえず一周したけどわからない、当事者感がまだわかない。これはwebアプリ開発してからもう一度読もうと思う。