http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp
If you intend to update a column or delete a row, you cannot include a GROUP BY or HAVING clause in the SELECT statement within a DECLARE CURSOR statement. These clauses make it a read-only cursor.
Null values are ordered as the highest value.
A null value is not the same as zero or all blanks. A null value means unknown. Null values can be used as a condition in the WHERE and HAVING clauses.
Comparing two columns using a normal equal comparison (COL1 = COL2) will be true if both columns contain an equal non-null value. If both columns are null, the result will be false since null is never equal to any other value, not even another null value. Using the DISTINCT predicate, null values are considered equal. So (COL1 is NOT DISTINCT from COL2) will be true if both columns contain an equal non-null value and also when both columns are the null value.
Null values are treated as duplicate rows for DISTINCT.
Online analytical processing (OLAP) specifications are used to return ranking numbers and row numbers for the result rows of a query. You can specify RANK, DENSE_RANK, and ROW_NUMBER.
The USING clause is equivalent to a join condition where each column from the left table is compared to a column with the same name in the right table.
? the use of recursive common table expressions and recursive views.
If you want to keep duplicates in the result of a UNION, specify UNION ALL instead of just UNION.
Data retrieval errors/SQLCODE
You can use a select-statement within an INSERT statement to insert zero, one, or more rows into a table from the result table of the select-statement.