34,499
社区成员




求助大佬们能不能给解答一下这个问题 救救孩子呜呜(我发的都是图片,有点长但是希望大家可以看看)
然后这个是我写的
先来学习
Demo:
select title from Book a
where not exists(select distinct bookID from BookCopy
where transactionID in (select transactionID from Borrow)
where a.BookDescID = bookID )
问题:查询从未被借阅的书名。
换句话讲,就是从借书[Borrow]流水表中,通过[transaction ID]事务ID,关联[BookCopy]书籍,获取到[BookID]值,并去重。
再将去重的BookID,直接关联[Book表],将借出的[书籍ID]全Get出来。
最后用该子集,用where not exists反向条件,去Get Book表所有未借的书名。
打完收工~
强调一下,因为图上,在BookCopy表中没有描述到事务Id字段,但你写子语句有,那说明我的理解应该没有偏差。
不讲问题,我都懒得看图片
先这样,在那样,最后在这样