TOP N query to Salesforce returning all records

TOP N query to Salesforce returning all records

Any ideas why the single table select query with TOP N would return ALL rows, while using a join (second query below) will limit to 100 returned rows?


SELECT Top 100 c.Name, c.Email FROM [SALESFORCE]...Contact c

SELECT Top 100 c.Name, c.Email, a.Name 

FROM [SALESFORCE]...Contact c

LEFT JOIN [SALESFORCE]...Account a ON (c.AccountId = a.Id)


Also, it appears the query takes the same amount of time to run regardless if using TOP N or WHERE clauses, so out of curiosity, is the result set filtering happening on the machine where the ODBC driver is installed, NOT on Salesforce cloud correct?  So the ODBC driver is really calling the API to pull all records from all the tables in the query and filtering out on the machine where the ODBC driver is installed, correct?