【发布时间】:2020-04-12 12:31:32
【问题描述】:
问题的链接是 在http://www.sql-ex.ru/learn_exercises.php#answer_ref。
架构是
- 产品(制造商、型号、类型)
- PC(代码、型号、速度、内存、高清、光盘、价格)
- 笔记本电脑(代码、型号、速度、内存、高清、屏幕、价格)
问题是找到生产个人电脑而不是笔记本电脑的制造商。
我写的查询是
select maker
from product, pc
where product.model=pc.model
and maker not in
(
select maker
from product,laptop
where product.model=laptop.model
)
我得到的信息是
您的查询在第一个(可用)数据库上返回了正确的数据集,但在第二个检查数据库上返回了错误的数据集。
- 记录数错误(多 11 条)。
【问题讨论】:
-
如果你正在学习 SQL,为什么不用
JOIN? -
Gordon 的评论很重要,不应被学习者忽视。您使用的语法不是 ANSI 标准,通常已被弃用。
-
我尝试过使用自然连接,但它不接受。你能写一个正确的查询吗?
-
使用
select distinct maker而不是select maker。 -
@forpas 这也不起作用 我收到消息 --- 您的查询在第一个(可用)数据库上返回了正确的数据集,但在第二个检查数据库上返回了不正确的数据集。
标签: mysql sql database select dml