9. A computer readable medium including program instructions implemented by a computer, the program instructions for searching for data in a database, the program instructions implementing steps comprising: receiving a query that is a request for data in the database, wherein the query includes at least one uneven non-Boolean term condition including an OR condition that spans at least two tables of the database, wherein the OR condition includes two predicates; splitting the at least one uneven non-Boolean term condition into a plurality of separate query portions that each provide a Boolean term satisfied by accessing a different particular one of the at least two tables, wherein each predicate is provided to a different one of the separate query portions; executing the separate query portions independently of each other to find at least one data result in each of the at least two tables that satisfies the Boolean term of each separate query portion; identifying at least one bridge table, wherein the at least one bridge table does not satisfy the at least one uneven non-Boolean term condition and has at least one column from each of the at least two tables; and combining the data results from each separate query portion into a final result that satisfies the query, wherein the at least one bridge table is used to join each of the at least two tables to combine the data results.
9. A computer readable medium including program instructions implemented by a computer, the program instructions for searching for data in a database, the program instructions implementing steps comprising: receiving a query that is a request for data in the database, wherein the query includes at least one uneven non-Boolean term condition including an OR condition that spans at least two tables of the database, wherein the OR condition includes two predicates; splitting the at least one uneven non-Boolean term condition into a plurality of separate query portions that each provide a Boolean term satisfied by accessing a different particular one of the at least two tables, wherein each predicate is provided to a different one of the separate query portions; executing the separate query portions independently of each other to find at least one data result in each of the at least two tables that satisfies the Boolean term of each separate query portion; identifying at least one bridge table, wherein the at least one bridge table does not satisfy the at least one uneven non-Boolean term condition and has at least one column from each of the at least two tables; and combining the data results from each separate query portion into a final result that satisfies the query, wherein the at least one bridge table is used to join each of the at least two tables to combine the data results. 17. The system of claim 9 wherein the query does not include a UNION-type statement, and wherein the separate query portions are separate blocks of the query that are split by rewriting the query so that the separate blocks are on different sides of a created UNION-type statement, such that the separate blocks are executed independently.