A roundabout way of showing this is to express the elements of $\mathbb{Q} - \{0\}$ as products of prime numbers. Labeling the prime numbers as $p_1, p_2, ...$ every nonzero rational number can be uniquely expressed as a product
$$p_1^{n_1} p_2^{n_2} \cdots$$
where $n_i$ are integers and for all but finitely many $i$, $n_i = 0$.
Your question becomes equivalent to asking why the set $A$ of sequences of integers $(n_1,n_2, ...)$ such that $n_i = 0$ for all but finitely many $i$, is countable.
To show this, let $A_j$ be the set of integer sequences $(n_1, ... , n_j, 0, 0, ...)$. Then $A_j$ is clearly in bijection with $\prod\limits_{i=1}^j \mathbb{Z}$, which is countable, and $A$ is equal to the union of the $A_j$. Now, you just have to show that a countable union of countable sets is countable.