結合クエリに DUAL テーブルを含めることはできますか?
SYSTIMESTAMP
デュアルテーブルからの例を教えてください。
(私にとって)一般的な用途の1つは、それを使用してインラインビューを作成して結合することです...
SELECT
filter.Title,
book.*
FROM
(
SELECT 'Red Riding Hood' AS title FROM dual
UNION ALL
SELECT 'Snow White' AS title FROM dual
)
AS filter
INNER JOIN
book
ON book.title = filter.title
[これは意図的に単純化された例です。]
基本的にはできますが、必要はありません。
systimestamp 疑似列を、既にあるクエリに追加できます。
SELECT t.col1, t.col2, systimestamp
FROM your_table t
と同じ結果が得られます
SELECT t.col1, t.col2, d.st
FROM your_table t, (select systimestamp st from dual) d
二重テーブルには行が 1 つしかないため、デカルト積は元のクエリに行を追加しないことに注意してください。
この解決策を試してください:
select (select SYSTIMESTAMP from dual ) as d
/*
Here you can add more columns from table tab
*/
from tab
する必要はありません。DUAL
キーワードは、テーブルをクエリしていないことを示す方法です。他のテーブルと「結合」したい場合はDUAL
、テーブルから来ていない列を含む他のテーブルをクエリするだけですselect句で。
編集:コメントが言うように、このステートメントは偽でDUAL
あり、テーブルです。
私はまだ含める意味がないと思います(質問から)
結合の DUAL テーブル