Any infinite set of a compact set $K$ has a limit point in $K$? I'm reading principles of mathematical analysis and have a question about a theorem 2.37.

Theorem 2.37


  If $E$ is an infinite subset of a compact set $K$, then $E$ has a limit point in $K$.


The proof is


  If no point of $K$ were a limit point of $E$, each $q \in K$ would have a neighborhood $V_q$ which contains at most one point of $E$. 
  It is clear that no finite subcollection of $\{V_q\}$ can cover $E$.
  The same is true of $K$, since $E \subset K$. 
  This contradicts the compactness of $K$.


I understand the first part that states that no finite subcollection of $\{V_q\}$ can cover $E$, in other words, $E$ is not compact. But I don't understand why it means that no finite subcollection can cover $K$. Is the author saying that if a subset of a set K is not compact, then $K$ is not compact? If that's the case, a compact set may have open subsets which are not compact, so I'm confused.

Thanks in advance.
A set with no limit points is necessarily a closed set.  Being a closed subset of a compact space, it is compact.  On the other hand, you're looking at a proof that $E$ is not compact, so you've got a contradiction.

Alternatively, look at this set of neighborhoods that cover $E$ and add one more open set to this collection: the complement of $E$.  That set is open, since as noted above, $E$ is closed.  Now you've got an open cover of $K$.  It must therefore have a finite subcover.  But every finite subset of this cover fails to cover all of $E$, so again you have a contradiction.
Suppose $\overline{E}$ doesn't have a limit point. Then $\forall e\in E,\exists N_{r_e}(e)\ s.t\ N_{r_e}(e)\cap E=\{e\}$.

Consider the open cover of the compact set ${\overline E}$:
$$\bigcup_eN_{r_e}(e)\rightarrow\bigcup_{i=1}^nN_{r_{e_i}}(e_i)$$
but
$$\bigcup_{i=1}^nN_{r_{e_i}}(e_i)\cap E=\bigcup_{i=1}^n(N_{r_{e_i}}(e_i)\cap E)=\bigcup_{i=1}^ne_i\ne E$$
which is absurd.