我对sql查询还比较陌生,并且尝试着更好地理解它。以下图片的sql查询有效吗?我得到的问题是:
对于“斯蒂芬·金”所著(或合著)的每一本书,检索其名称为“中央”的图书馆分馆所拥有的书名和份数
SELECT Title
FROM BOOK
WHERE BookID =
(
SELECT BookID
FROM BOOK_AUTHORS
WHERE AuthorName = 'Stephen King'
)
AND
BookID =
(
SELECT BookID, No_Of_Copies
FROM BOOK_COPIES
WHERE BranchID =
(
SELECT BranchID
FROM LIBRARY_BRANCH
WHERE BranchName = 'Central'
)
)
3条答案
按热度按时间wvt8vs2t1#
请使用下面的查询,但正确的方法是使用联接而不是多个子查询
连接
子查询
6qftjkof2#
你的版本显然没有回答这个问题,因为它没有返回计数。
处理这样的问题最常用的方法是
JOIN
s和GROUP BY
:注意使用
LEFT JOIN
. 这个问题似乎想要所有的标题,甚至那些没有副本。vom3gejh3#
对于此要求,可以使用联接来获得结果: