sql - Difference between selecting multiple tables with JOIN and plain select -
how sql server execute these 2 queries, there difference:
select join
select * aspnetusers left join aspnetuserroles on aspnetusers.id = aspnetuserroles.userid left join aspnetroles on aspnetuserroles.roleid = aspnetroles.id
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
Comments
Post a Comment