So, we are moving from Informix to Sql Server. And I noticed that in Informix, requests are written as follows:
select [col1],[col2],[col3],[col4],[col5] from tableA, tableB where tableA.[col1] = table.[gustavs_custom_chrome_id]
While all the queries that I write in SQL Server are written as:
select [col1],[col2],[col3],[col4],[col5] from tableA inner join tableB on tableA.[col1] = table.[gustavs_custom_chrome_id]
Now, my first thought was: the first request is bad. This probably creates this huge set of records and then erases the actual set of records using the Where clause. Therefore, it is bad for performance. And this is non-annecy. So this is doubly bad.
However, after some search on Google, it seems that they are both theoretically almost the same. And they are both compatible with ANSI.
So my questions are:
- Do both requests perform the same? IE works just as fast and always gives the same answer.
- Are both really compatible with ANSI?
- Are there any outstanding reasons why I should push one style to another? Or should I just leave one alone?
Note. These are just sample requests. I saw that some queries (of the first type) join up to 5 tables at a time.
source share