sql - Difference between selecting multiple tables with JOIN and plain select -


how sql server execute these 2 queries, there difference:

  1. select join

    select *  aspnetusers left join aspnetuserroles on aspnetusers.id = aspnetuserroles.userid left join aspnetroles on aspnetuserroles.roleid = aspnetroles.id 
  2. select without join

    select *  aspnetuserroles, aspnetusers, aspnetroles aspnetusers.id = aspnetuserroles.userid    , aspnetuserroles.roleid = aspnetroles.id 

the results same, except order of columns.

you have use sql server "actual execution plan" (press down actual execution plan button in sql server management studio) find difference of how sql server execute them.

if "inner join" vs "without join" sql server smart enough make them identical.

but "left join" vs "without join" has different results , has different execution plan

check attached photoenter image description here:


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

android - Keyboard hides my half of edit-text and button below it even in scroll view -