在SQL Server 中,可以在不引用表格的情況下執行SELECT 語句,使用下列語法:
Select 1.2 +3, 'my dummy string'
但是,Oracle 不允許沒有FROM 子句的SELECT 語句。要在 Oracle 中執行此類查詢,請經常使用雙表:
Select 1,2+3, 'my dummy string' FROM DUAL
這就引出了一個問題:在 Oracle 中是否有更好的方法來執行此類查詢?讓我們來探索答案。
不,Oracle 不允許不帶 FROM 子句的 SELECT 語句。使用 Dual 表被認為是一種很好的做法。
Dual 是一種記憶體表,可提供快速存取路徑,無需 I/O 要求。最初,它包含兩筆記錄,用於複製 JOIN 操作的記錄。如今,它只有一筆記錄,但仍可使用CONNECT BY 子句產生任意數量的行:
SELECT level FROM dual CONNECT BY level <= 100
其他資料庫(例如MySQL)也支援雙表和fromless 語法。 MySQL 的語法與 SQL Server 類似:
Select 1.2 +3, 'my dummy string'
以上是對於沒有 FROM 子句的 SELECT 語句,在 Oracle 中使用 DUAL 表是否有更好的替代方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!