我正在製作書店數據庫,並在表格「作者」中列出了我想列出作者在表格「書籍」中編寫的書籍的列。表「Books」具有外鍵「id_author」。我不知道該怎麼做,它就像連續計數職位oracle
SELECT COUNT(*) FROM Books WHERE id_author = "id of chosen author"
在代碼中用什麼來代替"id of chosen author"
?
如何把它放在表「作者」的表中?
我正在製作書店數據庫,並在表格「作者」中列出了我想列出作者在表格「書籍」中編寫的書籍的列。表「Books」具有外鍵「id_author」。我不知道該怎麼做,它就像連續計數職位oracle
SELECT COUNT(*) FROM Books WHERE id_author = "id of chosen author"
在代碼中用什麼來代替"id of chosen author"
?
如何把它放在表「作者」的表中?
您可以加入在authors
表和查詢其列(例如,第一個和最後一個名稱):
SELECT COUNT(*)
FROM books b
JOIN author a ON b.id_author = a.id
WHERE a.firstname = 'John' AND a.lastname = 'Doe'
取決於你有應用程序,該應用程序可能已經有作者id。這意味着,你可以只是做一個
SELECT COUNT(*) FROM Books WHERE id_author = "id of author provided by application"
雖然相對於Mureinik的答案,這樣可以加強對大型數據庫的性能,你沒有做的作者和書籍表之間的連接的差異可能並不大。
冊數由作者:
select a.author, count(1)
from author a
join books b
on a.id = b.id_author
group by a.author
你只需要更新它,如果作者發佈的一本新書。您不應該在實際數據庫中真正存儲這種性質的動態數據,只需在需要時提取它。 – CHill60