Table Functions and Java DB - Mix and Match Data at Will
Table functions are just what their name implies, viz., functions which return tabular data sets. These tabular data sets can then be queried just like ordinary tables, via the full, expressive power of SQL. For this reason, table functions are sometimes called virtual tables.
If you'd like to "mix and match" data from sources other than your Java DB into virtual tables, on which you can still perform SQL queries, this is the solution for you. (Mash-up programmers, are you listening? Having Java DB in the middle-tier can bring amazing value.)