1. A computer implemented method of obtaining a dataset answering a main query from a relational database using a database query language comprising: the method comprising providing code to cause a set of one or more processors to: provide a first real result table containing a first dataset obtained from the database, the first dataset answering a first subquery that forms part of the main query, provide one or more further real result tables, the or each further real result table containing a respective further dataset obtained from the database, the or each further dataset answering a respective further subquery that forms part of the main query, and obtain a dataset from the first and one or more further real result tables answering the main query.