Select Records from Both Inner and Outer Joins Sample
File: ...\Samples\Data\Comboj.qpr
The query, COMBOJ, uses the testdata database, and combines information from the tables, customer, orders, and orditems. Each result record has fields for the company from the customer table, the order_date from the orders table, and the line_no from the orditems table as specified in the SELECT clause of the SELECT-SQL statement.
SELECT Customer.company, Orders.order_id, Orditems.line_no;
FROM testdata!customer LEFT OUTER JOIN testdata!orders;
INNER JOIN testdata!orditems ;
ON Orders.order_id = Orditems.order_id ;
ON Customer.cust_id = Orders.cust_id
The order in which the tables are joined determines the order in which the join conditions are evaluated. In this query, the join between orders and orditems is evaluated first and produces a subset of records that meets the join condition. Because of the inner join, the subset of records has only records from both tables that match the condition. This subset of records is matched to the records in the customer table. Because of the outer join between customer and orders, any customers not having orders also appear in the results and have the value NULL.
You can change the results of the query by specifying filters, a sort order, group, or other miscellaneous options for the query.