sql语言中join on和where有什么区别?

例如:select*fromAa,Bbwherea.id=3andb.id!=45;select*fromAajoinBbon(a.id=b.id);这两种写法有时候都能... 例如:select * from A a,B b where a.id=3 and b.id!=45;

select * from A a join B b on(a.id=b.id);这两种写法有时候都能够达到我们的目的,我想知道这两种查询方式,到底哪一种的效率更高呢?他们的区别是什么?
难道就没有人可以说的出来吗?太伤心了
展开
 我来答
Sxzy灬丨小柒
2014-11-03 · TA获得超过623个赞
知道小有建树答主
回答量:1223
采纳率:50%
帮助的人:274万
展开全部
join是数据连接.分为3种. inner join left join right join
inner join 1对1 等同于where A.a=B.b
A a left join B b 在left左边的A代表多,B代表1, 也就 是 多对1.
right 正好相反.

例:
人表 身份证表 1个人只有1个身份证 就是1对1
学生表 班级表 多个人在1个班级 多对1
商店表 商品 1个商店里有多种商品 1对多.
更多追问追答
追问
我让你回答的两种查询效率的比较,join on的几种查询我都知道,最主要是比较我说的那两种
追答
join是表连接,where是条件判断.
从你给的2条sql语句看,效率几乎没区别.
但如果是比较复杂的sql查询或者是多次连续调用的话就有区别了.
where是擅长条件判断
join是擅长表与表之间的联合查询
在多表查询的时候join更优
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式