I will answer question 5, which is a question about the language SQL rather than about this particular product.
WHERE restricts the rows to be output, e.g. one can have WHERE Sex="M" and DoB < #1976.07.04# to find men born before the U.S. Bicentennial.
ORDER BY means simply that: the rows will appear in the order of the column specified, e.g. ORDER BY DoB will give you the oldest person first, then the next-oldest, and so forth.
GROUP BY is used for aggregates, e.g. max, min, avg. One obtains the maximum, or whatever, for each group defined by the group column.
SELECT Avg(salary) FROM SomeTable
GROUP BY DoB
Will yield the average salary of all the people with each birthdate.
http://www.informix.com/answers/english/docs/dbdk/infoshelf/sqls/01.toc.html, when it's working, will give you a definition of the entire SQL syntax.