select * from a,b where a.a=b.bselect * from a inner join b on a.a=b.b请问这两种写法有什么不同指出?

解决方案 »

  1.   

    select * from a,b where a.a=b.b------1select * from a inner join b on a.a=b.b-----2在查询分析器后台会把1转换成2。
      

  2.   

    WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE 和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接了。
      

  3.   

    规则不同而已,其实没区别
    前者不符合ANSI的标准而已,也就是说可能移植到其他不同平台数据库的话会有一点麻烦