授業のために30題ぐらい問題を考えました。
http://www.ie.u-ryukyu.ac.jp/~kono/lecture/database/ex/ex013.html
なんだが、5 番で「えぇ〜? これは、もしかして sub query? 」とか。何、いきなり難しいもの出してるの? 学生には「他のを先にやってね」とごまかしておいて… うちの学生に解かせる。自分で解かないの?
でも、練習用のデータベースいじりながら解いてみると、普通に join して、group by すれば良いわけね。ふんふん。group by の後には、カンマで複数の column を書けると。はいはい。で、
count(*) と group by の組合せ
という定番で解けるらしいです。sub query は必要ないらしい。もちろん、order by と limit も使うんだけど。結構、すごい。SQL 馬鹿にできないです〜
distinct を例題に入れるのを忘れたな。
日付関数は嫌い。そんなもの使うなら、Unix time 入れておけと思う。32 bit にすると 2038年問題で死ねますが、それを見るのは僕は難しいだろうな。見るだけなら、VM で時刻を進めれば良いだけだけど。
来週が終ったら来月からは並行制御やるつもりです。これは定番 :-p でも、SQL でやるのは初めてかも。あ、でも、mySQL では dead lock させるのは難しいのか?
そういえば、Y2K を試したくて、Solaris の時刻を一度2000年に進めて、また、戻したら、
未来にできたデーモンの子供が不死となり、ずーっと消えずに残り、OSを壊す
というのにぶち当たったのを思い出した。怖いですね〜
No comments:
Post a Comment