Why doesn't this set have a supremum in a non-complete field? Why doesn't the set $\{x:x^2<5\}$ have a supremum in $\mathbb{Q}$? I know that the rational numbers aren't a complete field, but I'm still not understanding how a set can have upper bounds, but no least upper bound in a field.
In $\mathbb{Z}$ for example, $\{x:x^2<5\}=\{-2,-1,0,1,2\}$. It has the set of upper bounds: $[2,\infty)\cup\mathbb{Z}$. So why isn't the least upper bound $2$?

Suppose $q$ is a rational number which is an upper bound for your set. Since $\sqrt{5}$ is irrational, it must be the case that $q>\sqrt{5}$. But then there exists a rational number $q'$ such that
$$\sqrt{5} < q' < q$$
so $q$ couldn't have been a least upper bound.

Added: if you want to work entirely inside $\mathbb{Q}$ then you can get away without referring to $\sqrt{5}$ at all. It's a fact that if $q > x$ for all $x \in \mathbb{Q}$ with $x^2 < 5$, then there exists $q' < q$ with the same property.
As for $\mathbb{Z}$, the set $\{ x \in \mathbb{Z} : x^2 < 5 \}$ is equal to
$$\{ -2, -1, 0, 1, 2 \}$$
It's not equal to $\{0, 1, 4 \}$, which is the set of integer squares less than $5$, whereas our set is the set of integers whose squares are less than $5$. (Think for a while about why these aren't the same thing.) And indeed, this set does have a supremum in $\mathbb{Z}$, namely $2$, its largest element.

Added again:
I'd like to stress that your question really asks about two sets, not just one. The notation $\{ x : x^2 < 5 \}$ is not very clear if it's not specified what values $x$ is meant to range over.
The two sets are, respectively:


*

*$\{ x \in \mathbb{Q} : x^2 < 5 \}$, the set of rationals whose squares are less than $5$

*$\{ x \in \mathbb{Z} : x^2 < 5 \}$, the set of integers whose squares are less than $5$


The first of these sets is infinite, and the second is finite!
