这句SQL有更简便或更优化的写法么?

发布于 2022-09-05 03:01:12 字数 265 浏览 6 评论 0

--有两张表[3d_Zf_Tzje]数据表、[3d_Zf_Tzje_Record]数据记录表

--[3d_Zf_Tzje_Record]的TzjeId关联[3d_Zf_Tzje]的Id

select  top 1 Id,Cid,Je,AddTime,AddId,AddContent from [3d_Zf_Tzje]  where Id in (select TzjeId from [3d_Zf_Tzje_Record] where State=0) and Cid=125

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

原谅过去的我 2022-09-12 03:01:12
SELECT
    A.Id,
    A.Cid,
    A.Je,
    A.AddTime,
    A.AddId,
    A.AddContent
FROM
    [3d_Zf_Tzje] A
INNER JOIN
    [3d_Zf_Tzje_Record] R
ON
    R.TzjeId = A.Id AND State = 0
WHERE
    A.Cid = 125
GROUP BY
    A.Id;
流星番茄 2022-09-12 03:01:12

很久没写了,给你点意见,先将两张表联系起来,这样查询效率高,from [3d_Zf_Tzje],[3d_Zf_Tzje_Record],你可以通过id联系起来,然后 再where state =0 and cid =125。

身边 2022-09-12 03:01:12

这个语句本来就不复杂,从写法上有三种:

  1. in

  2. exists

  3. join

具体哪种写法效率高,需要实际看一下执行计划和执行时间。
如果3d_Zf_Tzje_Record表数据量比较大,建议写成join的语法,减少3d_Zf_Tzje_Record表的查询次数。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文