आपकी क्वेरी लगभग सही है और ऐसा करने का यह सही तरीका है (और सबसे कुशल)
SELECT books.*, count(orders.book_id) as number_of_orders
from books
left join orders
on (books.book_id = orders.book_id)
group by
books.book_id
COUNT(*)
गिनती में NULL मान शामिल हो सकते हैं क्योंकि यह सभी पंक्तियों की गणना करता है, जबकि COUNT(orders.book_id)
ऐसा इसलिए नहीं है क्योंकि यह दिए गए क्षेत्र में NULL मानों की उपेक्षा करता है।