在查询分析器中执行的效率是一样的,因为SQL Server自动优化了。用JOIN表达式,会先根据连接条件匹配生成记录集,然后根据where子句筛选。

解决方案 »

  1.   

    一样.
    前者是交叉连接(cross join),加了where 条件的交叉连接,作用同内连接一样.
      

  2.   

    前一种SQL语法;后一种ANSI语法,兼容性好些
      

  3.   

    楼主上说的差不多
    前一种是Transact_SQL语法(即SQL Server的语法)
    后一种是ANSI92标准的语法,兼容所有标准的关系型数据库
      

  4.   

    [参考SQL Server 2000 宝典 Paul Nielsen 著]在ANSI-92将连接的语法标准化为join...on之前,早期的连接语法格式采用了在from子句中指定参与连接的表,而在where子句中指定连接条件的方法。为了向后兼容,SQl Server仍然支持早期的连接语法。第一种方法把连接分割为两个部分,其中参与连接的表放在from子句中,而连接条件放在where子句中,这种写法很容易出错。第二种方法在from子句中完整的指定连接显得更加规范和清晰。对于多个表后者的优势就会充分显示,所以要尽量抛弃第一种写法。
      

  5.   

    select *
    from student A, teacher B
    where A.class = B.class
      

  6.   

    2.可读性好! 无二义性!如果使用
      "*="实现两表以上的外连接时,要注意此时 WHERE 子句的 AND 条件是有顺序的,尽
      管《ANSI/ISO SQL》标准不允许 WHERE 条件的顺序影响查询结果,但是 FROM 子句
      的各表连接的顺序可以影响查询结果。