The question is:
Let $G_1$ and $G_2$ be two non-trivial subgroups of $(\mathbb{Q},+)$. Then show that $G_1 \cap G_2 \neq \{0\} .$
My approach:
We know, that every non-trivial subgroup of $(\mathbb{Q},+)$ has an infinite order. Let us consider any $r \in G_1$ and $ s \in G_2$. $r$ and $s$ being rationals, we can write $p_1/q_1 =r$ and $p_2/q_2=s$ where $p_1, p_2, q_1, q_2$ are integers. [Note: if $r$ and $s$ are of opposite sign, i.e. $sr<0$, then we consider the inverse of the negative element, (say $r$, WLOG) and write it as a fraction in order to make the two elements under consideration of the same sign.]
By the closure property of subgroups, we can say $({q_1p_2}).r= r + r +r....+ \ r \ \ ({q_1p_2}$ times) $= q_1p_2(p_1/q_1)=p_1p_2 \in G_1$ .
Again, $({q_2p_1}).s= s +s + s+s...+s ({q_2p_1}$ times) $= q_2p_1(p_2/q_2)=p_1p_2 \in G_2$.
Hence, we can assert, that $G_1 \cap G_2 \neq \{0\}$.
Kindly correct me if I made mistake somewhere. I am not really confident about it, since my solution is pretty naïve.
It's correct, but it can be vastly simplified.
If $G$ is a nontrivial subgroup of $\mathbb{Q}$, then it contains a nonzero integer: indeed, if $q=a/d\in G$, $a\ne0$, then $dq=a\in G$.
Let now $H$ be another nontrivial subgroup and let $b\in H$, with $b$ a nonzero integer.
Then $ab\in G\cap H$, by first considering $ab=ba$ as the $b$-multiple of $a$ and then $ab$ as the $a$-multiple of $b$.
You can check that this is uses the same idea as your proof, but can be developed much more easily.