It’s not consistent across vendors - Oracle, MySQL, and DB2 support dual:
1  | SELECT 'Hello world'  | 
…while SQL Server, PostgreSQL, and SQLite don’t require the FROM DUAL:
1  | SELECT 'Hello world'  | 
MySQL does support both ways.
mybatis batch insert oracle table ID use sequence return ID NULL
1  | <insert id="batchInsert" useGeneratedKeys="true" keyProperty="id">  | 
关键:useGeneratedKeys="true", keyProperty="id"