SQL Hacks ―データベースを自由自在に操るテクニック
SQL Hacks ―データベースを自由自在に操るテクニック
- 作者: Andrew Cumming,Gordon Russell,西沢直木
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/07/28
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 90回
- この商品を含むブログ (34件) を見る
HACK #29 COUNT関数を使わずに件数を数える
select count(*) from foo;
のかわりに、
select count(1) from foo;
とも書ける。
1って一番目の列?つまりrowidか何か…?
と思ってcount(2)等試してみたけど、count(*) と同じ結果が帰ってくる。
3でも4でも同じ。
不思議…覚えても役に立たない気がするw けど、読めるように覚えておこう。
同じく#29の「条件付きのカウント」。
countとwhereのかわりに、以下のようにも書けるというテクニック
select sum(case when a=1 then 1 end) from foo;
これは何に使うのか…?
WHEREでフィルタリングせずにSUMを使用するメリットは、1つのSQL文で複数の集計条件を設定できるということだ。なるほど!!このHACKは役に立ちそう。
8章「小さいデータの格納」
HACK #58「データベースにパラメータを保存する」
通常、「CORSS JOIN」はパフォーマンスに影響を与える処理の目印にもなるが、paramテーブルに1行しか存在しないことがわかっているので、ここでは問題ない。大丈夫だろうなと思ってことがハッキリ「問題無い」と書かれてたんで、これから1行のテーブルに対してクロスジョインは、ためらうことなく使うぞー(でも他の手段があれば避けるつもり)