メニュー

社員ブログ

oracle テクニック _1

今回は、珍しく技術関連のブログとなります。

システム開発の業務に携わっていると、
色々なプログラム言語で開発にたずさわることになりますが、
どこにいっても大抵使うのはSQLではないでしょうか。

本記事では、あんまり使うことないけど、
SQLでは、こんなことも出来ますよ!
というテクニックを紹介します・・・。
(oracle 11g以降で有効な機能です。)

○縦横変換!!
今回、紹介するのは"pivot"です。
Excelの貼り付けオプションで使える
"行列を入れ替える"と似たような挙動をするSQLです。

例えば・・・
表1は人別、教科別の採点結果をまとめた表です。
この形式だと、やや冗長な表示形式ですね。
pivotを使うと、1回のSQLで表2の形に変換することができます。




実際のSQL構文ですが、以下のようになります。



変換前後の表と構文のマッピングは下図のイメージ。


性能的な問題などを考慮すると、
実際のシステムで使用する機会はあまりないかとも思われますが、
知っていると様々な調査や資料作成に有効活用できることもありますよ。

oracle テクニック。
次回は、「 たどる 」SQLについて掲載します。