Derby interprets the JDBC escape syntax for outer joins (and all join operations) as equivalent to the correct SQL syntax for outer joins or the appropriate join operation.
For information about join operations, see JOIN operation.
{oj JOIN operations [JOIN operations ]* }
JOIN operations [JOIN operations ]*
-- outer join SELECT * FROM {oj Countries LEFT OUTER JOIN Cities ON (Countries.country_ISO_code=Cities.country_ISO_code)} -- another join operation SELECT * FROM {oj Countries JOIN Cities ON (Countries.country_ISO_code=Cities.country_ISO_code)} -- a TableExpression can be a joinOperation. Therefore -- you can have multiple join operations in a FROM clause SELECT E.EMPNO, E.LASTNAME, M.EMPNO, M.LASTNAME FROM {oj EMPLOYEE E INNER JOIN DEPARTMENT INNER JOIN EMPLOYEE M ON MGRNO = M.EMPNO ON E.WORKDEPT = DEPTNO};