MARCO's FREE MEMO

携帯フォトや備忘録などをちょこっと…

union

2007年01月19日 19時44分32秒 | Database
存在を知ってはいたが、使う機会がなかった(というか使う機会に気づかなかった?)unionというSQL文がある。
2つのテーブルから同じような要素をくっつけて1つのリストとして抽出してくれる。
たとえば、野球選手のテーブルとサッカー選手のテーブルをくっつけて五十音順に表示させることができる。

select 野球選手名 as 名前、カナ、野球チーム as チーム名 from 野球選手
union
select サッカー選手名 as 名前、カナ、チーム as チーム名 from サッカー選手
order by カナ

いままでプログラムの中で面倒な判定処理をしていたようなところもunionを使ったビューを作ることで簡素化できるのではないかと思う。

やっぱりいろいろ試してみなければ!

#春の情報処理試験もデータベースに挑戦することにした。
#去年の初挑戦はボロボロだった(T-T)



REPLACEは便利

2007年01月15日 12時30分29秒 | Weblog
MySQLでアプリケーションを試作してみた。
家庭用住所録をJava Servletで・・・。
この中でREPLACEを使ってみた。
insert into TABLE values(...);の要領でinsertをreplaceにするだけ。
replace into TABLE values(...);
これだけで新規の場合は登録し、既にキーが存在していたら更新する。
超便利!
次はレスポンス改善にむけてどれだけチューニングできるかを調べてみたい。

#ということで昨日は良い天気だったのに家でコタツに入り都道府県対抗女子駅伝をテレビで見ながら住所録プログラムを作って過ごした。
#女子駅伝。生まれ故郷の長崎県、実家のある岡山県がずっと上位にいて気合が入った。
#岡山県は準優勝♪最後惜しかったなあ・・。



ビューの注意点

2007年01月05日 12時39分19秒 | Database
オラクルのビューを使って簡単な集計処理をしようとしたら変な結果が出た。
期待する数値の数倍もの結果が表示されてしまうのだ。
いろいろ調べてもわからず悩んでいたが、隣席の助言で原因が判明。
ビューに並び順を設定していないことが原因だったようだ。
ビューを作成する時は必要無いと思ってもorder by句を忘れないようにしよう。

#あけましておめでとうございます。
#今年もよろしくお願いします。

#明治神宮に初詣し表参道を歩きました。今年は寝つきが悪く睡眠が浅くて初夢は見ませんでした。