I'm entirely new at SQL, but let's say that on the StackExchange Data Explorer, I just want to list the top 15 users by reputation, and I wrote something like this:
SELECT TOP 15
DisplayName, Id, Reputation, Reputation/1000 As RepInK
FROM
Users
WHERE
RepInK > 10
ORDER BY Reputation DESC
Currently this gives an Error: Invalid column name 'RepInK'
, which makes sense, I think, because RepInK
is not a column in Users
. I can easily fix this by saying WHERE Reputation/1000 > 10
, essentially repeating the formula.
So the questions are:
- Can I actually use the
RepInK
"column" in theWHERE
clause?- Do I perhaps need to create a virtual table/view with this column, and then do a
SELECT/WHERE
query on it?
- Do I perhaps need to create a virtual table/view with this column, and then do a
- Can I name an expression, e.g.
Reputation/1000
, so I only have to repeat the names in a few places instead of the formula?- What do you call this? A substitution macro? A function? A stored procedure?
- Is there an SQL quicksheet, glossary of terms, language specification, anything I can use to quickly pick up the syntax and semantics of the language?
- I understand that there are different "flavors"?