1. A method comprising: receiving at least one SQL statement, at a computer system, wherein the at least one SQL statement is configured to operate on a first table and a second table, and the at least one SQL statement comprises an SQL statement that is configured to join the first table and the second table; automatically generating, using a processor of the computer system, a set of SQL statements to query the first table and the second table, wherein the set of SQL statements are based, at least in part, upon the at least one SQL statement, the first table and the second table are stored in a computer-readable storage medium of the computer system, the automatically generating uses a relationship between the first table and the second table to generate the set of SQL statements, and the set of SQL statements comprises SQL statements other than the at least one SQL statement; producing a first result set by querying the first table using the set of SQL statements, wherein the querying the first table is performed using the processor; producing a second result set by querying the second table using the set of SQL statements, wherein the querying the second table is performed using the processor, and the querying the first table and the querying the second table are performed without joining the first table and the second table; joining, using the processor, the first result set and the second result set to produce a third result set; and returning the third result set, in response to the receiving the at least one SQL statement.