tinySQL is a lightweight, 100% Java SQL engine that also includes a JDBC driver. It was featured in the book Java Database Programming.
tinySQL supports the following (from the README file):
SELECT (with joins) joins are buggy in dBase
ALTER TABLE xx ADD coldef dBase only
ALTER TABLE xx DROP [COLUMN] col dBase only
ALTER TABLE xx RENAME [COLUMN] foo TO bar dBase only
WHERE only AND is supported
TinySQL now supports all JDBC-Datatypes and the ODBC-Minimum grammar is
Although tinySQL is not optimized for speed, its architecture makes it possible to build SQL interfaces to non-SQL data sources, such as .DBF files or text files.