The UnityJDBC driver can integrate and query any number of JDBC-accessible data sources (including Oracle, SQL Server, MySQL, and Postgres) in a single SQL query. UnityJDBC contains a built-in database engine and optimizer that can be used separately from the integration system. It also contains a new, faster join algorithm and syntax for matching/merging data beyond simple joins. It runs on any Java-enabled platform. Features: Integrate Everything: UnityJDBC allows you to write a single SQL query to extract data from any number of JDBC-accessible data sources. The query can join or match data between sources and return a single ResultSet. Supreme Performance: UnityJDBC has minimal overhead and contains a new join algorithm (US patent submitted) that returns results faster than previous algorithms. The built-in optimizer restructures queries to create the most efficient execution plans. Standards based: UnityJDBC is pure Java and can be used on any Java-enabled platform (Windows, Linux, Solaris). The system supports standard SQL queries and works exactly as other JDBC drivers. This allows for rapid development of applications that access multiple databases without requiring new middleware software or training programmers on a different development environment. It can be deployed within application and web servers as well as stand-alone Java applications. Database Annotation: The system allows developers to rename fields and tables in the databases being queried. This makes it easier to track and query the databases. Matching and Merging Data: A unique feature is the ability to match data across sites. The MERGE operator allows queries that go beyond standard joins and track the provenance of the data. This is useful when building comparison shopping sites and any site that needs to relate data from many sources.