gpt4 book ai didi

MySQL相关查询混淆

转载 作者:行者123 更新时间:2023-11-29 07:35:24 27 4
gpt4 key购买 nike

直接进入,这是不起作用的 MySQL 查询:

SELECT S.pub
FROM serves S
WHERE NOT EXISTS ( SELECT L.beer
FROM likes L
WHERE L.drinker = "Joe" AND L.beer NOT IN ( SELECT S.beer
FROM S));

此查询的目的是选择提供 Joe 喜欢的所有啤酒的酒吧。但是,当我尝试执行它时,我收到一条错误消息,指出表 S 不存在(由“SELECT S.beer FROM S”引起)。但是我在外部 FROM 子句中将 S 别名为 serves 表的一个实例。我做错了什么?

另外,我使用 NOT EXISTS 和 NOT IN 对我来说似乎过于复杂。是否有更优雅的方式来构建此查询?

顺便说一句,这是数据库模式:

LIKES(drinker,beer);
FREQUENTS(drinker,pub);
SERVES(pub,beer,cost);

另外,这个问题与我的作业有关,所以在回答问题时请考虑到这一点。谢谢。

最佳答案

你应该使用连接

SELECT S.pub FROM  SERVES S INNER JOIN LIKES L ON L.drinker = "Joe" AND L.beer= S.beer;

我认为这将有助于解决您的问题或

你可以用这个

SELECT S.pub
FROM serves S
WHERE NOT EXISTS ( SELECT L.beer
FROM likes L
WHERE L.drinker = "Joe" AND L.beer IN ( SELECT SS.beer
FROM serves SS));

关于MySQL相关查询混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49104001/

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