【MySQL】DUAL表について


ここではMySQLで、DUAL表について紹介しています。

DUAL表について

DUAL表とは、ORACLEデータベースだと初めから用意されている1列しか持たないダミーテーブルのことを指します。

例えば、次のSQLのようにシステム日付を取得するなど、表にアクセスしなくても良いときに利用します。

SELECT SYSDATE FROM DUAL;

MySQLでは、次のようにFROM以降を指定せずとも実行することが出来ます。

mysql> select curdate();
+------------+
| curdate()  |
+------------+
| 2010-10-10 |
+------------+
1 row in set (0.01 sec)

ただし他のDBMSとの互換性を保つために、「FROM DUAL」と記述しても動作するようになっています。

mysql> select curdate() from dual;
+------------+
| curdate()  |
+------------+
| 2010-10-10 |
+------------+
1 row in set (0.00 sec)