【发布时间】:2020-12-15 02:15:57
【问题描述】:
我想在以下查询中替换 EXISTS 和 NOT EXISTS:
SELECT pokemon_name FROM sinnohdex s
WHERE NOT EXISTS
(SELECT * FROM hoenndex h
WHERE s.id = h.id)
AND EXISTS
(SELECT * FROM johtodex j
WHERE j.id = s.id);
这是我目前得到的:
SELECT pokemon_name FROM sinnohdex s
LEFT JOIN hoenndex h ON s.id = h.id
INNER JOIN johtodex j ON j.id = s.id
WHERE h.id IS NULL;
我的目标是稍后将查询“翻译”成关系代数。
我不知道这是否准确。
我的想法是仅使用连接编写查询。
这样对吗?
【问题讨论】:
-
这些很容易找到常见问题解答。在考虑发布之前,请阅读手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。
标签: mysql sql relational-algebra