Yes, this is normal. The statement below returns one row for each row of the table. It doesn't matter what you put between SELECT and FROM (except aggregate functions).
SELECT <anything you put here> FROM test
The NEXT VALUE FOR seq
is like a function that return the next value each time it is called.
If you do not have to use version 1.8.0, use the latest version of HSQLDB as it supports a more extensive syntax.