OracleのDUAL表とは?

OracleのDUAL表とは?

Oracleには「DUAL」というテーブルがあります。この「DUAL」について解説します。

OracleのDUAL表というのは、ダミーのテーブルのことです。ダミーのテーブルがあると何かと便利なので用意されています。

DUAL表は、Oracleインストール時に自動的に作成されます。なので自分で作成しなくてもいつでも使えます。

ダミーとはいっても、実はDUAL表はSYSユーザーのスキーマにあります。テーブル自体に列・行ももっています。VARCHAR2(1)のDUMMY列を持ち、X値を持つ行があります。

ダミー表といっているのは、使い方がダミーとして使うからです。

参照:DUAL表からの選択

DUALの使い方

何となくDUALの意味がわかったところで、DUALの使い方をいくつか挙げていきます。

例1. 関数だけを使う

Oracleで日付を取得する場合は、SYSDATE関数を使います。だけど、FROM句に何のテーブルを記述すればいいのかな?

この場合、特にテーブルなんて必要ないですよね?関数だけ使いたいだけですし。でも「FROM」は省略できないので、ダミー表として「DUAL」を使います。

このように関数だけ実行したいときにダミー表「DUAL」を使います。

例2. 動作確認で使う

他には動作確認でも使えます。はじめて使う関数はどのような挙動をするかわかりません。なので使う前に動きをチェックしておきたい。そんなときに使います。

ここではROUND関数の動作確認をしました。ROUND関数は四捨五入する関数ですが、はじめて使う場合はちょっと不安です。

こういう場合は sqlplusを起動して、DUAL表を使ってサクっと確認してみます。

というように、OracleのDUAL表はダミーとして何かと便利なテーブルなのです。

以上、OracleのDUAL表について解説でした。