This question already has an answer here:
This is really just for fun. Why is this grammatically correct? "There are no books".
"No books" means a zero quantity of books which is singular per definition of plural (2 or more). So isn't it incorrect and we should instead use:
"There is no book."
As per the comment below saying that I invent the definition. http://www.oxforddictionaries.com/definition/english/plural (Of a word or form) denoting more than one, or (in languages with dual number) more than two:
http://dictionary.cambridge.org/dictionary/english/plural a word or form that expresses more than one
http://www.merriam-webster.com/dictionary/plural relating to a form of a word that refers to more than one person or thing