1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: determining, at a language layer of a query language architecture, a query syntax of a received query and a definition of a result set for the query; checking, at a compiler layer of the query language architecture, semantics of the received query, the compiler layer supporting a single data model usable on multiple application layers of a multi-layer business software architecture; reading, from a data dictionary in a persistent layer of a database from which query results are to be returned, a field expression corresponding to the result set; building, by the compiler layer, the field expression into a query statement; executing, at a runtime layer of the query language architecture, the query including the query statement; and returning results to the query per the result set based on execution of the query on the database.
5. A computer program product as in claim 1 , wherein the operations further comprise pushing logic used in data retrieval for response to the query to a database level of the database.