我的NOT EXISTS并没有像它应该的那样

时间:2011-10-13 10:29:10

标签: sql database

我正在研究一个NOT EXISTS,并没有像它应该的那样。应该只有2个结果应该出现,但我得到18个。我应该找到所有在数据库中没有任何销售的书名(作为“书名”)。出于某种原因,我认为我在查询中遗忘了一些内容,但我不确定。我不明白为什么它不能正常工作。

Select title AS 'Book Title'
From titles
WHERE NOT EXISTS
(Select ord_num
    From sales
    Where title = ord_num)

2 个答案:

答案 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)