select *from where 和select *from jion on 语句的差别!!!

select 学号 a,成绩 a,姓名 b from 成绩表 a,学生表 b where a.学号=b.学生编号 和
select 学号 a,成绩 a,姓名 b from 成绩表 a jion 学生表 b on a.学号=b.学生编号 这两个语句是等价的吗 ?
如果不等价在什么情况下使用这两种查询方式,求大侠解答!!!

第一种是关联查询查询结果只会出来两张表学号一样的数据出来第二种是级联查询查询结果是参照成绩表出来的,join的表只是作辅助数据,如果有加b.姓名的话,你就会看到,和成绩表学号一样的,就会显示出姓名,而不一样的则会显示null上面两种查询结果不等价但是如果将第二句加上一个条件就等价了select 学号 a,成绩 a,姓名 b from 成绩表 a jion 学生表 b on a.学号=b.学生编号where IsNull(b.学生编号,'')<>''
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-16
如果不深入研究的话,结果是一样的,但是个人建议用第二种,效率上应该高于第一种,而且写代码的时候思路也清晰,join on内连接,on后面加连接条件,再加where,但第一种写法中where后的条件都写在一起了,时间长自己就忘了,别人看着也难受本回答被网友采纳
第2个回答  2013-04-16
完全等价。语法不一样而已。
第3个回答  2013-04-16
两种不同的语法,前面的是最早期的sql。
第4个回答  2013-04-17
第二句是内链接,链接两个表查询数据。