gpt4 book ai didi

sql - 我该如何优化这个查询?

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

如何优化该查询?似乎应该有一种更简单的方法来做到这一点。目标是它仍然能够轻松地转换为删除语句。

SELECT * FROM team 
WHERE team_id IN (
SELECT team_id
FROM (
SELECT team.team_id, (
SELECT COUNT(*)
FROM signup
WHERE signup.team_id = team.team_id
) AS members
FROM team, schedule, event
WHERE team.schedule_id = schedule.schedule_id
AND schedule.event_id = event.event_id
AND event.event_id =183) AS t
WHERE members = 0
)

最佳答案

快速浏览一下这个查询,我会发现:

select
t.*
from
team t
inner join schedule s on t.schedule_id = s.schedule_id
inner join event e on s.event_id = e.event_id
left outer join signup sp on t.team_id = sp.team_id
where
e.event_id = 183
and sp.team_id is null

您似乎正在尝试查找参加事件但不在报名表中的所有团队。这准确吗?

此外,我想指出的是,进行联接比进行一堆子查询更快,特别是如果子查询依赖于每一行(在您的情况下,它们是这样做的)。

干杯,
埃里克

关于sql - 我该如何优化这个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/808832/

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