DUAL表からの選択
DUAL
は、データ・ディクショナリとともにOracle Databaseによって自動的に作成された表です。DUAL
は、ユーザーSYS
のスキーマにありますが、すべてのユーザーがDUAL
という名前でアクセスすることができます。VARCHAR2(1)
として定義されているDUMMY
列を持ち、X
値を持つ行を含みます。DUAL
表から選択することは、定数式をSELECT
文で計算する場合に便利です。 DUAL
には行が1つしかないため、定数が返されるのは1回のみです。一方で、任意の表から定数、疑似列または式を選択できますが、値は表の行の数のみ戻されます。DUAL
から定数値を選択する例は、「SQLファンクション」を参照してください。
Oracle Database 23c以降、FROM DUAL
句を使用した式の選択がオプションになりました。
ノート:
Oracle Database 10gリリース1以降では、DUMMY
列を含まない式を計算する場合に、論理I/OがDUAL
表で実行されません。この最適化は、実行計画でFAST
DUAL
としてリストされます。DUAL
のDUMMY
列に対してSELECT
を実行した場合、この最適化は行われず、論理I/Oが実行されます。