Hail to the Victors: Debate re:Exam Question #36 shows some good spade work on Question 36 in the exam. You should read it. Here is sort of the heart of her argument for why there should be two correct answers to this question:
The join query isn’t sophisticated enough to display unique customers only because we are considering both tables with an equal weighting.
Basically, the three queries do not produce exactly the same results, because as Krysta notes the join query does not eliminate all duplicates. Had I added a distinct operator, it would have.
Now, I will note for the record that equivalent does not mean exactly the same. Therefore, I think it is correct to say that all of the queries are equivalent. It will never be the case that one of the queries will produce rows that do not appear at least once in the output of the other queries. It is not always the case that JOIN and IN queries are equivalent in this way as noted in this previous post by Krysta. So, I am going to continue to consider C a correct answer as indicated on the answer key.
However, I do think it is a fair observation to say that since the queries do not produce exactly the same result, due to repetitive results from some of the queries, the queries are in some sense not the same. Krysta does a good job of telling us why that is the case here. Therefore, I have decided to count A (only some of the queries are equivalent) as correct also.
This change winds up increasing the grades of six people by about three points. It mainly affected those at the top of the distribution of exam grades and a couple near the bottom. It did not change any of the dividing lines between grades people might receive if the exam were the only graded item in the course.
Good work, Krysta!