Pat,
The WHERE clause filters the results of the JOIN, not the tables that go into it. You can either first create a cursor of the record you want to join or filter the records in the JOIN ON statement. The speed difference between the two can vary a great deal depending upon the situation.
It's also interesting to note that the JOIN seems to include all fields from all tables in the JOIN (which is why you can include fields in the WHERE that aren't selected), so creating a small cursor of the fields you need for the join can also speed it up quite a bit if you're using large record sets.
HTH