In the context of this code challenge from the ‘Performing SQL Calculations’ submodule within the ‘SQL for Back-end Development’ module (Code Challenge 7, I am a bit confused as to why we are using the
WHERE clause instead of the
I understand that
WHERE is used for filtering rows and
HAVING is used for filtering groups, but I would really appreciate an explanation of this particular example.
You answered your own question? I think what helps, is this:
where is evaluated before
group by, while
having is evaluated after
where first only filters out the records you want to before grouping. In a way, this is an optimization: you don’t want to group data you don’t need
Thank you very much for the answer! I was particularly looking for what you said in the last phrase. Now it makes sense.