Oracle DB

DUAL テーブル

計算や関数実行結果を返すための1行ダミーテーブル

解説

Oracle Databaseにおいて、テーブルデータを伴わない計算式や組み込み関数の実行結果を取得する際に伝統的に使用されてきた1行1列の特別なダミーテーブルです。

FROM句の省略可否

  • MySQL / PostgreSQL / SQLite: SELECT 1 + 1; や SELECT CURRENT_TIMESTAMP; のように FROM 句を省略してクエリを実行できます。
  • Oracle DB: Oracle 23aiより前では、テーブルを参照しないSELECTでも原則として FROM DUAL を記述します。Oracle 23ai以降では、単純な式や関数をSELECTする場合にFROM句を省略できます。
構文
SELECT 式または関数 FROM DUAL;
具体例
SELECT SYSDATE, 100 * 1.1 FROM DUAL;

この構文を実際に書いて試してみませんか?

SQLエディタを開く