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

Posted zzfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了select *from where 和select *from jion on 语句的差别相关的知识,希望对你有一定的参考价值。

https://zhidao.baidu.com/question/541791438.html

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

 

如果不深入研究的话,结果是一样的,但是个人建议用第二种,效率上应该高于第一种,而且写代码的时候思路也清晰,join on内连接,on后面加连接条件,再加where,但第一种写法中where后的条件都写在一起了,时间长自己就忘了,别人看着也难受

第一种是关联查询查询结果只会出来两张表学号一样的数据出来第二种是级联查询查询结果是参照成绩表出来的,join的表只是作辅助数据,如果有加b.姓名的话,你就会看到,和成绩表学号一样的,就会显示出姓名,而不一样的则会显示null上面两种查询结果不等价但是如果将第二句加上一个条件就等价了select 学号 a,成绩 a,姓名 b from 成绩表 a jion 学生表 b on a.学号=b.学生编号where IsNull(b.学生编号,‘‘)<>‘‘

以上是关于select *from where 和select *from jion on 语句的差别的主要内容,如果未能解决你的问题,请参考以下文章

12.SQL语句[4] 常用运算符

在mysql中把查询出来的结果在进行查询,用sql怎么写。

分页查询

多表之间关联查询

select * from table where something VS select column from table where something

mariad(selec的使用)