把以下两个SQL语句放到查询分析器里
[第一种]select A.*,(select B.Name from B where B.ID=A.BID) as Name from A
[第二种]select A.*,B.Name from A left join B on A.BID=B.ID用Ctrl+L键执行,看一下执行计划

解决方案 »

  1.   

    不清楚,以前看到有贴子说子查询比Join效率要高。
      

  2.   

    两种方法,从逻辑上是一样的,从执行的时间上也应该是差不多。
    使用LEFT JOIN形式比较规范。愉快的登山者       ⊙
    ◢◣◢◣◢◣
      

  3.   

    偶写语句的时候是用LEFT JOIN的。
      

  4.   

    用子查询是大表先Scan还是小表Scan,Left Join呢,Sql server是如何解析执行这二个语句的?
      

  5.   

    刚刚试验了一下,好像没有区别,查询引擎就两条语句编译成同样的执行计划。
    不过如果涉及外连接,建议使用join形式,
    详细的讨论你可以看一下 SQL Server6.5 技术内幕一书,清华大学出版社的
    里面对你问的情况做了详细而且深入的讨论。开心就好!!!
      

  6.   

    效率应该一样。应为SQLSERVER会执行同样的优化处理,
    不过第二种更符合T-SQL92的标准。