1. A method for querying one or more databases, comprising: receiving, at a computing device, a selection of a starting node, wherein the starting node represents a database table and is included in a model that corresponds to one or more database tables; receiving, at the computing device, a selection of a first set of one or more leaves, wherein each leaf is connected to a node in the model and represents a column in a database table represented by the node to which the leaf is connected; generating a first database query based on the starting node and the first set of leaves; providing a first results output based on the first database query executing on the one or more databases; receiving a selection of a result in the first results output; generating a second database query based on the selection of the result in the first results output, wherein the second database query is associated with a detail set associated with the result, wherein the detail set associated with the result identifies a second starting node and a second set of leaves, wherein the second starting node represents a database table and each leaf of the second set of leaves is connected to a node in the model and represents a column in a database table represented by the node to which the leaf is connected; wherein generating the second database query comprises generating the second database query based on the second starting node and the second set of leaves, and wherein the second database query is filtered by one or more values included in a row in the first results output corresponding to the selected result; and providing a second results output based on the second database query executing on the one or more databases.