Complete syntax of while select statement
[while] select [reverse] [firstfast] [firstonly] [forupdate] [nofetch] [crosscompany] [forcelitterals | forceplaceholders] [forcenestedloop] [forceselectorder] [ * | <fieldlist> from] <tablebuffer>
[ index [hint] <indexname> ] [ group by {<field>} ][ order by {<field> [asc][desc]} ]
[ where <expression> ] [ [ outer | exists | notexists ] join [reverse][ * | <fieldlist> from] <tablebuffer>
[ index <indexname> ][ aggregate [sum] [avg] [minof] [maxof] [count]][ group by {<field>} ]
[ order by {<field> [asc][desc]} ][ where <expression> ]]<fieldlist> ::= <field> | <fieldlist> , <field>
<field> ::= fieldname | <function>(<field>) <function> ::= sum | avg | minof | maxof | count