SELECT …
FROM Orders O,
Order_Details OD, Products P, Customers C,
Shipments S, Addresses A,
Code_Translations ODT, Code_Translations OT
WHERE UPPER(C.Last_Name)
LIKE :Last_Name||'%'
AND UPPER(C.First_Name) LIKE
:First_Name||'%'
AND OD.Order_ID = O.Order_ID
AND O.Customer_ID = C.Customer_ID
AND OD.Product_ID = P.Product_ID(+)
AND OD.Shipment_ID = S.Shipment_ID(+)
AND S.Address_ID = A.Address_ID(+)
AND O.Status_Code = OT.Code
AND OT.Code_Type = 'ORDER_STATUS'
AND OD.Status_Code = ODT.Code
AND ODT.Code_Type =
'ORDER_DETAIL_STATUS'
AND O.Order_Date > :Now - 366
ORDER BY …;
•Each
table is a node, represented by its alias.
•Each
join is a link, with (usually downward-pointing)
arrows pointing toward
any side of the join that is unique.
•Midpoint
arrows point to optional side of
any outer join.