# Joins

Joins specified by the JOIN keyword are optimizable. This means that Derby can use an index on the inner table of the join (start and stop conditions are being supplied implicitly by the rows in the outer table).

Note that joins built using traditional predicates are also optimizable. For example, the following statement is optimizable:

    SELECT * FROM Countries, Cities
    WHERE Countries.country_ISO_code = Cities.country_ISO_code

Parent topic: What's optimizable?
Related concepts
Directly optimizable predicates
Indirectly optimizable predicates