UltraLite User's Guide
Developing C++ API Applications
Defining features for your application
Table definitions and query definitions provide alternative ways of defining the data that is to be included in your UltraLite database, and the range of operations you can carry out on that data.
Using SQL statements and projects provides a more general approach to defining applications, and are most likely to be used in larger enterprise applications. Table definitions may be useful as a convenient device in the following cases:
Your application needs to access data only one table at a time. You cannot define joins using table definitions.
You are severely constrained for memory use. The code generated for table definitions is smaller than that for queries, because of their simpler structure.