So phase 2 of my learning is: how could I have done it better?
Wayne, the question itself is clear, it's the wording of the answer options that makes it a bit unclear.
In the question, you say
not return a column as an individual column in the result set
so the meaning of "return" is clearly qualified.
In four of the five options provided for the answer you use "return" unqualified, which risks that readers will forget the qualification; in the other option you don't use "return" at all, and I think this is best. The other answers could easily be changed to avoid using "return" as well:
First option: just the single word "Never" would do fine.
Second option: could read "When the table contains sparse columns for which no selected row contains a non-null value".
Third option: is ok as it stands.
Fourth option: could read "When the table contains sparse columns and a sparse column set and some of the sparse columns have non-null values in none of the rows selected".
Fifth option: could read "Whenever the table contains sparse columns and a sparse column set".
I think this would have been a good deal clearer, because when one looks at the answers and forgets the qualification of return in the question a different one appears to be correct - assuming that "a null sparse column" has the meaning of the phrase I used above about no no-nulls in that column in the selected rows. Without the repeated use of unqualified "return" pushing one towards the ordinary meaning of return there is no reaon to forget the qualification in the question.
Incidentally, I wouldn't worry too much about a couple of us saying it could be clearer; that can be said of many qa QotD and many an article too (inluding mine, for sure).