gpt4 book ai didi

mysql - 内部连接查询与内部连接之间的区别..on 和 where 子句查询?

转载 作者:行者123 更新时间:2023-11-29 02:24:08 25 4
gpt4 key购买 nike

假设我有两个表 student,记录的模式是

Students (id, name)
Records (rid,sid,subject,marks)

我想打印(姓名、主题、标记)。

所以我可以用两种方式编写内部连接

> select a.name,b.subject,b.marks from students a, records b where a.id = b.sid;
or
> select a.name,b.subject,b.marks from students a inner join records b on a.id = b.sid;

显然,它们都返回相同的结果并花费相同的时间。所以我不确定它们在内部是否相同,或者是否存在其中任何一个比另一个更可取的情况?

最佳答案

两者都错了。我认为这是一个错误,第一个 where 应该是 from:

> select a.name,b.subject,b.marks from students a, records b where a.id = b.sid;
or
> select a.name,b.subject,b.marks from students a inner join records b on a.id = b.sid;

如果我们忽视这个错误并检查上面的查询——这两个语句在功能上是等价的,但是隐式连接(第一种形式)已经被弃用了很长时间。因此,建议使用显式连接(第二种形式)。它们的一个额外好处是增加了代码的可读性 - 连接条件与 join 整齐地排列在一起,并且 where 子句可以自由处理逻辑查询。

关于mysql - 内部连接查询与内部连接之间的区别..on 和 where 子句查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26327639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com