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.学生编号,'')<>''