In VFP usually queries of that type with JOIN are the fastest. The VFP query optimizer is not documented, so it's always a trial and error to figure out the best query in each case.
>I am assuming that EXISTS will do a separate lookup for each record, and will therefore be slow with large tables. Any comments about this assumption?
>
>>You can use EXISTS query or concatenate fields
>>... where EXISTS (select * from Table2 WHERE KeyField = Table1.KeyField AND KeyField2 = Table1.KeyField2 )
>>
>>... where KeyField1 + KeyField2 in (select KeyField + KeyField2 from Table2)
>>
>>
>>
--sb--