前回のお勉強からまたまただいぶ時間が経過してしまったけど、Codecademy での SQL のレッスンを再開。
piyopiyo-singapore.hatenadiary.jp
今回のテーマは、how to perform calculations using SQL. とのこと。
Aggregate functions というものを使うらしい。合計値を出すSUMとか平均値を出すAVGとか。
Tableにどのくらいの列があるかを数えるためには、COUNTを使う。
SELECT COUNT(*) FROM TABLE;
なお、COUNTは、NULLの列はカウントしないとのこと。
GROUP BY は Aggregate functions と共に使用される。
例えば、下記のクエリでは、従業員のそれぞれ何名がどの名字に該当しているのかを出すことができる。
SELECT family_name, COUNT(*) FROM employee
GROUP BY family_name;
SUM, MAXの使い方。
部署ごとに一番多く給料をもらっている従業員の名字を出すとしたら、下記のようなクエリになる。
SELECT familiy_name, department, MAX(base_salary) from employee GROUP BY department;
MIN の使い方。
AVGの使い方。
たとえば、従業員の平均の給与を出すクエリは下記のようなかんじ。
SELECT AVG(base_salary) from employee;
ROUNDの使い方。小数点以下2桁で丸めるとしたら、下記のような感じ。
SELECT ROUND(AVG(base_salary), 2) from employee;