db4o supports different query mechanisms.
The most convenient query mechanism is LINQ. You can use .NET's query API to query the objects in your database.
On .NET 2.0, Native Queries provide a sensible alternative for writing queries.
Queries-By-Example are appropriate as a quick start for users who are still acclimating to storing and retrieving objects with db4o, but they are quite restrictive in functionality.
The SODA Query is the underlying internal API. It is provided for backward compatibility and it can be useful for dynamic generation of queries, where Native Queries are too strongly typed. There may be queries that will execute faster in SODA style, so it can be used to tune applications. You can also run snippets of custom query code as part of the SODA query,
Of course, you can mix these strategies as needed.