
The CASE expression is one that I was familiar with. Something I learned was that the CASE expression itself returns a NULL if none of the cases matched. I also was told that a CASE expression performs similar to the IF ... THEN construct.
Loops where you perform the test at the top are called "top tested loops". That makes sense. A WHILE loop is an example of that. However a LOOP where you have the WHEN EXIT clause at the top is also a top tested loop. FOR loops can have ranges that are themselves variables. They do not have to be literals. If the upper and lower bounds of a FOR loop are the same, the loop executes exactly once. Note that you cannot change the value of the FOR loop iterator manually inside the loop. In Oracle 11g, the CONTINUE statement can be used in any loop to make it move on to the next iteration immediately.