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 ]
SELECT
[<TOP(n) [SKIP(n)] | EVERY(n) | RANDOM(n [, seed]) ] [SAMPLE(‘control_break’ [, ’qualifier’])] [<DISTINCT | ALL>] select_items FROM table WHERE criteria
[SAMPLE(‘control_break’ [, ’qualifier’])]
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
HAVING [ left_operand operator subquery ]
[ left_operaand IN (subquery) ]
ORDER BY [column | position ] [, column | position ]
> select * from mytable
> select company, contact from mytable