我正在研究一个NOT EXISTS,并没有像它应该的那样。应该只有2个结果应该出现,但我得到18个。我应该找到所有在数据库中没有任何销售的书名(作为“书名”)。出于某种原因,我认为我在查询中遗忘了一些内容,但我不确定。我不明白为什么它不能正常工作。
Select title AS 'Book Title'
From titles
WHERE NOT EXISTS
(Select ord_num
From sales
Where title = ord_num)
答案 0 :(得分:2)
尝试:
Select title AS 'Book Title'
From titles
WHERE NOT EXISTS
(Select *
From sales
Where titles.title = sales.title);
可替换地:
SELECT title AS 'Book Title'
FROM titles
EXCEPT
SELECT title AS 'Book Title'
FROM sales
答案 1 :(得分:1)
您好像在EXISTS
子句中尝试查找标题与订单号相同的销售记录。我建议像:
Select title AS 'Book Title'
From titles
WHERE NOT EXISTS
(Select ord_num
From sales
Where titles.title_id = sales.title_id)