+1.
These sound like questions from somebody knowing nothing about the Progess ABL. The statments you mention are basic data retrieval statements. Asking what they are for is like asking in an SQL forum what the SELECT statement is for. You should consider to either take a training (which is what I would recommend you) or study the documentation that comes with the product.
As for HANDLE - this is an ABL specific pointer - comparable to memory pointers in other languages.
As for questions about arrays. The ABL does not support array constructs like, for example, Java or .NET. Instead you should make yourself familiar with the concept of TEMP-TABLES.
Heavy Regards, RealHeavyDude.