Join syntax and join processing

Join clauses take this form:

table1.column_name <operator> table2.column_name

The join operators are:

=, >, >=, <, <=, !>, !<, !=, <>, *=, =*

And:

table1 [ left | right ] join table2 
    on column_name = column_name
table1 inner join table2
    on column_name = column_name

When joins are optimized, the optimizer can only consider indexes on column names. Any type of operator or expression in combination with the column name means that the optimizer does not evaluate using an index on the column as a possible access method. If the columns in the join are of incompatible datatypes, the optimizer can consider an index on only one of the columns.