たとえば「select count(*) from A」などでテーブルAに登録された件数が計数できる。同じようにテーブルBについても、あるいはwhere句を指定して計数したいなど、いろいろな集計を1回のSQL文の発行で行う方法だ。union句を使えばいいだけのことなのだが、ちょっと工夫するとプログラム上で結構、汎用的に書けそうだ。 select count(*) from A union select count(*) from A where NAME is not null union select count(*) from A where UPDATED < '2010/02/06'通常なら3回のSQL発行が必要そうなところを1回の発行で済ませることができる。ここまでは大体の方がご存知だろう。ただ、上記のSQLだけでは正しく検索されない場合もある。これを以下のように補完してやる。