This is an old revision of the document!
SELECT expression_list FROM data_source [ WHERE predicates ] [ GROUP BY expression_list ] [ HAVING predicates ] [ ORDER BY expression_list ] [ ON [ CURSOR ] cursor_no ] | [ INSTANCE instance_no ] [ WITH options ]
expression_list
[ < TOP (n)
[ SKIP(n) | EVERY(n) | RANDOM (n [, seed] ) ] ]
[ < DISTINCT COLUMN | ALL >]
[ SAMPLE(‘control_break’ [, ’qualifier’]) ]
[ UNION [ALL] | INTERSECT | EXCEPT ]
[ * ] | [ TABLE.]COLUMN [column_alias] [, TABLE.column ... ]
[ (subquery) ]
[ aggregate_function( [TABLE.]COLUMN ) ]
[ $uniquekey | $odxid ]
FROM table1 [ table_alias ] [, table2 [ table_alias ] [ $omnidex ] ] [ LFET | RIGHT ] [ OUTER ] [ JOIN ] [ , table2 ] [ ON table1.linkfield = table2.linkfield ]
WHERE [ EXISTS (subquery) ] [ IN (subquery) ]
GROUP BY group_by_columns
HAVING [ left_operand operator subquery ] [ left_operaand IN (subquery) ]
ORDER BY [COLUMN | POSITION ] [, COLUMN | POSITION ]
One of the following:
RIGHT> [OUTER JOIN [[[environment.]database.]table
ON join_predicate [<AND | OR> NOT] join_predicate]
join_predicate
[[[environment.]database.]table.column = [[[environment.]database.]table.column
> select * from mytable
> select company, contact from mytable