gpt4 book ai didi

mysql - SQL Inner Join 返回奇怪的结果

转载 作者:行者123 更新时间:2023-11-30 23:01:45 24 4
gpt4 key购买 nike

好的,我的数据库中有两个表。我有一个表 books,它有 (id, title, author),还有另一个表 orders,它有 (id, bookid, authorid, fromdate, todate)。

我只是为了获得所有可以订购/预订的书籍。意思是,books 表中的所有书籍,在 orders 表中不应有与任何 books.id 相同的 orders.bookid

所以,我做了这个查询:

SELECT books.title, books.author 
FROM books
INNER JOIN orders
ON orders.bookid ORDER <> books.id

看起来我已经找到了,看起来可以使用:

SELECT * FROM books LEFT JOIN orders ON books.id = orders.bookid WHERE orders.bookid IS NULL

你怎么看?

因此,我的示例中有 6 本书,id 为 1-6,我在订单表中有两个订单,其中 booksid 为 3 和 4。现在,如果我运行查询,它会显示1-2 和 5-6 的书(两次),以及 3 和 4 的书一次。

我不知道我到底做错了什么,但无论如何,我有点卡住了。

最佳答案

你可以试试这个:

SELECT b.title, b.author 
FROM books b
WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.bookid = b.id);

关于mysql - SQL Inner Join 返回奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23700290/

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