SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社では、「独習」「徹底入門」「スラスラわかる」「絵で見てわかる」「一年生」などの人気シリーズをはじめ、言語や開発手法、最新技術を解説した書籍を多数手がけています。プロジェクトマネジメントやチームビルティングといった管理職向けの書籍も豊富です。

ITエンジニアとしてのスキルアップ・リスキリングに、ぜひお役立てください。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
特集記事

Oracle 11g R1新機能のPivotとUnPivot

select文で縦横変換

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード SourceCode (2.6 KB)

 Oracle 11g R1新機能のPivotとUnPivotについて、基本事項から使用例まで、SQLのイメージを交えて解説します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 Oracle 11g R1新機能のPivotとUnPivotについて、基本事項から使用例まで、SQLのイメージを交えて解説します。

対象読者

  • OracleのPivotとUnPivotを使いたい方
  • OracleのSQLの理解を深めたい方

必要な環境

 本稿で扱うSQLは、Oracle 11.1.0.6.0で動作確認しました。SQL Server 2005以降でも応用が可能です。

1. PivotとUnPivotとは

 PivotとUnPivotはOracle 11g R1の新機能で、select文での行列変換を容易に行うことができます。ちなみにPivotとUnPivotは、SQL Server 2005以降でも使用できます。英和辞典によるとPivotの意味は、動詞では「旋回する」、名詞では「中心,軸,旋回軸,かなめ」です。

 下記のOracleのselect文の評価順序において、PivotとUnPivotはfrom句の一部として評価されるようです。

select文の評価順序
 1. from句
 2. where句 (結合条件)
 3. start with句
 4. connect by句
 5. where句 (行のフィルタ条件)
 6. group by句
 7. having句
 8. model句
 9. select句
10. union、minus、intersectなどの集合演算
11. order by句

 PivotとUnPivotはfrom句の一部として評価されるので下記のようなselect文も実行できます。PivotやUnPivotした結果に表別名を付けることもできます。

PivotとUnPivotはfrom句の一部として評価
select * from dual
unpivot(vals1 for key1 in(dummy,dummy,dummy,dummy,dummy))
unpivot(vals2 for key2 in(key1,key1))
pivot(max(key2) for vals2 in('DUMMY' as newDummy))
pivot(max(newDummy) for vals1 in('DUMMY' as newDummy2)) a
Join dual b
  on a.newDummy2 is null;
出力結果
newDummy2 DUMMY
X null
PivotとUnPivotはfrom句の一部として評価
select *
  from (select RowNum as r1,RowNum as r2 from dict where RowNum <= 2) a
  Join dual b on 1=1
UnPivot(Val for Keys in(r1,r2));
出力結果
DUMMY Keys Val
X R1 1
X R2 1
X R1 2
X R2 2

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
2. Pivotで行列変換 (行⇒列)

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

山岸 賢治(ヤマギシ ケンジ)

趣味が競技プログラミングなWebエンジニアで、OracleSQLパズルの運営者。AtCoderの最高レーティングは1204(水色)。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4985 2010/04/14 14:00
" ); }

おすすめ

アクセスランキング

  1. 1
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  2. 2
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略 NEW
  5. 5
    自律型AIエージェント「JAPAN AI AGENT」、ユーザーによる簡単かつ自由なAIエージェント作成が可能に
  1. 6
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 7
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  3. 8
    ビルド自動化ツールの「Docker Bake」がDocker Desktop 4.38で一般提供開始
  4. 9
    【GitHub Actionsをはじめよう】GitHub Actionsとは? 実務での活用シーンを紹介
  5. 10
    ガートナージャパン、2026年末まで日本企業の半数が従来型仮想化基盤の近代化に失敗するとの展望を発表

アクセスランキング

  1. 1
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  2. 2
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略 NEW
  5. 5
    自律型AIエージェント「JAPAN AI AGENT」、ユーザーによる簡単かつ自由なAIエージェント作成が可能に
  6. 6
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  7. 7
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  8. 8
    ビルド自動化ツールの「Docker Bake」がDocker Desktop 4.38で一般提供開始
  9. 9
    【GitHub Actionsをはじめよう】GitHub Actionsとは? 実務での活用シーンを紹介
  10. 10
    ガートナージャパン、2026年末まで日本企業の半数が従来型仮想化基盤の近代化に失敗するとの展望を発表
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    iOS・iPadOS 18.3がリリース
  3. 3
    マイクロソフト、「DocumentDB」をオープンソースとして公開
  4. 4
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  5. 5
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  6. 6
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  7. 7
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る
  8. 8
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  9. 9
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  10. 10
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  2. 2
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略 NEW
  5. 5
    自律型AIエージェント「JAPAN AI AGENT」、ユーザーによる簡単かつ自由なAIエージェント作成が可能に
  1. 6
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  2. 7
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  3. 8
    ビルド自動化ツールの「Docker Bake」がDocker Desktop 4.38で一般提供開始
  4. 9
    【GitHub Actionsをはじめよう】GitHub Actionsとは? 実務での活用シーンを紹介
  5. 10
    ガートナージャパン、2026年末まで日本企業の半数が従来型仮想化基盤の近代化に失敗するとの展望を発表

アクセスランキング

  1. 1
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  2. 2
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    変化が激しい時代が抱える「3つのリスク」とは? 塩谷啓氏が語るベテランエンジニアの生存戦略 NEW
  5. 5
    自律型AIエージェント「JAPAN AI AGENT」、ユーザーによる簡単かつ自由なAIエージェント作成が可能に
  6. 6
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説 NEW
  7. 7
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  8. 8
    ビルド自動化ツールの「Docker Bake」がDocker Desktop 4.38で一般提供開始
  9. 9
    【GitHub Actionsをはじめよう】GitHub Actionsとは? 実務での活用シーンを紹介
  10. 10
    ガートナージャパン、2026年末まで日本企業の半数が従来型仮想化基盤の近代化に失敗するとの展望を発表
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    iOS・iPadOS 18.3がリリース
  3. 3
    マイクロソフト、「DocumentDB」をオープンソースとして公開
  4. 4
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  5. 5
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  6. 6
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  7. 7
    Webはどんどん複雑になっている? これまでのWebシステムのトレンドを振り返る
  8. 8
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  9. 9
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  10. 10
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱