01 / 05
表にない値がほしい
sales には price(1個の値段)と sold(売れた個数)が入っている。でも知りたいのはその商品でいくら売れたかだよね。
かけ算した列は表に入っていない。じゃあ入れておくべき? いや、取り出すときに計算すればいいんだ。
集める・数える
INPUT · スライド
01 / 05
sales には price(1個の値段)と sold(売れた個数)が入っている。でも知りたいのはその商品でいくら売れたかだよね。
かけ算した列は表に入っていない。じゃあ入れておくべき? いや、取り出すときに計算すればいいんだ。
02 / 05
SELECT に並べるのは列名だけじゃなく、計算式でもいい。price * sold と書けば、行ごとにかけ算した結果が1つの列として返ってくるよ。
* はかけ算の記号。JavaScript と同じだよ。
SELECT item, price * sold FROM sales;実行結果
マグカップ | 3000 木のスプーン | 3600 花のブローチ | 4200 布のバッグ | 7200 コースター | 8400 ガラスの小皿 | 5400 陶器の花びん | 4800 革のしおり | 4800
03 / 05
計算した列の見出しは price * sold と、書いた式がそのまま出る。まだ好きな名前を付ける書き方は習っていないので、そのまま使うよ。
つまり式の書き方を変えると見出しも変わる。教材の答えと見くらべるときは、問題文と同じ書き方にそろえよう。
04 / 05
ORDER BY にも同じ式を書ける。売り上げの大きい順にすれば、いちばん稼いだ商品が先頭に来るよ。
計算式は WHERE にも書ける。列名を書けるところには式も書けると覚えておこう。
SELECT item, price * sold FROM sales ORDER BY price * sold DESC;実行結果
コースター | 8400 布のバッグ | 7200 ガラスの小皿 | 5400 陶器の花びん | 4800 革のしおり | 4800 花のブローチ | 4200 木のスプーン | 3600 マグカップ | 3000
05 / 05
使えるのは + - * / の4つ。ひき算なら「100円引きにしたらいくら?」も出せるよ。
ただし空の値がまざった計算の答えは空になる。rating + 1 は、評価を書いていない行では空のまま返ってくるんだ。ここから書いてみよう。
SELECT item, rating + 1 FROM sales;実行結果
マグカップ | 6 木のスプーン | 5 花のブローチ | 布のバッグ | コースター | 4 ガラスの小皿 | 6 陶器の花びん | 5 革のしおり | 4