  Every SQL statement is limited to return a single, possibly denormalized,
table. This design decision has far reaching consequences. (1.) for databases
users in terms of slow query performance, long query result transfer times,
usability-issues of SQL in web applications and object-relational mappers. In
addition, (2.) for database architects it has consequences when designing query
optimizers leading to logical (algebraic) join enumeration effort, memory
consumption for intermediate result materialization, and physical operator
selection effort. So basically, the entire query optimization stack is shaped
by that design decision. In this paper, we argue that the single-table
limitation should be dropped. We extend the SELECT-clause of SQL by a keyword
'RESULTDB' to support returning a result database. Our approach has clear
semantics, i.e. our extended SQL returns subsets of all tables with only those
tuples that would be part of the traditional (single-table) query result set,
however without performing any denormalization through joins. Our SQL-extension
is downward compatible. Moreover, we discuss the surprisingly long list of
benefits of our approach. First, for database users: far simpler and more
readable application code, better query performance, smaller query results,
better query result transfer times. Second, for database architects, we present
how to leverage existing closed source systems as well as change open source
database systems to support our feature. We propose a couple of algorithms to
integrate our feature into both closed-source as well as open source database
systems. We present an initial experimental study with promising results.
