Option B is correct.
Example: Consider enrolled tuples (s1,c1) and (s2,c1) & paid tuples (s1, 200) and (s2, 200).
So for the query “list all courses taken by students who have paid more than x”, for x=100 will return c1 twice (once for s1 and s2 each).
For Option C & D, consider the following
let number of rows in enrolled be e and number of rows in paid be p.
Plan 1:
select = p comparisons
nested join = e*p comparisons (considering worst case when all p are selected)
Total comparisons = p + e*p
Plan 2:
nested join = e*p comparisons
select = e comparisons (as ideally e>=p)
Total comparisons = e*p + e
So speed depends upon the database as,
Plan 1 will be faster for e>p
Plan 1 and Plan 2 will be same for e=p.
So the assertion that one will be faster than other for all database does not hold true.