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$?

Note that $\Bbb Z$ is a Dedekind-complete order. Every bounded set has a least upper bound. The reason is that given $k\in\Bbb Z$, the set $\{n\in\Bbb Z\mid n\leq k\}$ is a well-ordered set. So given any bounded set $A$ of integers, the set of upper bounds has a minimal element.
On the other hand, the order in $\Bbb Q$ is dense. So we don't have this property. And indeed sets like $\{x\in\Bbb Q\mid x^2<5\}$ do not have a least upper bound, even if they have upper bound. In order to see this is true, for this particular case anyway, note that if $y$ was the least upper bound of this set, then $x<y$ implies $x^2<5$ and $y<x$ implies $5\leq x^2$. From this follows that $y^2=5$, but we know that no such $y$ exists in the rational numbers.
Finally, note that the title of your question is wrong. In the field $\Bbb Q[\sqrt5]$, which is not complete either, the set given does in fact have a supremum.
