请帮忙看一下,这两个表的联接语句有什么区别

请帮忙看一下,这两个表的连接语句有什么区别
   1. select  列表  from   表名1,表名2                    where  表名1.列名1 = 表名2.列名2
   2. select  列表  from   表名1 [inner]  jion  表名2  on        表名1.列名1 = 表名2.列名2
   
请问这两个语句有什么区别,如何没有什么区别,为何要用两种形式?
------解决思路----------------------
没有区别,楼主可看执行计划
------解决思路----------------------
没区别,第一句sqlserver会把他解释成为第二句执行,硬要说就是少了个解析的过程,但这过程貌似损耗小到忽略不计吧
------解决思路----------------------
INNER
指定返回所有匹配的行对。放弃两个表中不匹配的行。如果未指定任何联接类型,此设置为默认设置

------解决思路----------------------
可以用其中任意一個.
------解决思路----------------------
本来是有区别的,但是经过优化器的优化后,没有区别了~
------解决思路----------------------
真要说区别的话~

方法1为内连接,将连接两边的表做笛卡尔集,生成个中间表 然后通过ON条件去筛选该中间表

方法2这不属于SQL标准写法,还是用join比较好,
方法2,如果忘记写条件的话,就会出现大错,
没条件表数据会直接做笛卡尔积 
------解决思路----------------------
SQL语言的标准也经历了一系列的发展,大致有SQL86, SQL89, SQL92, SQL/CLI, SQL/PSM, SQL99几个过程,其中大部分商业数据库目前都支持SQL92。另外,商业数据库使用的SQL大多有自己的扩展。因此严格来说,SQL语法没有一个完全统一的标准.

去看一下不同DB的语法,通常都会在标准语言加上自己的扩展