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 ステートメントは許可されません。デュアル テーブルを使用することをお勧めします。
デュアルは、I/O 要件なしで高速アクセス パスを提供するメモリ内テーブルです。元々は 2 つのレコードが含まれており、JOIN 操作でレコードを複製するために使用されていました。現在、レコードは 1 つだけですが、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 中国語 Web サイトの他の関連記事を参照してください。