This is a correlated subquery.
(This is a "nested" query - this is a very non-technical term, though)
The inner query takes values โโfrom the outer query (WHERE st.Date = ScoresTable.Date), so it is evaluated once for each row in the outer query.
There is also an uncorrelated form in which the internal query is independent, as it is executed only once.
eg.
SELECT * FROM ScoresTable WHERE Score = (SELECT MAX(Score) FROM Scores)
There is nothing wrong with using subqueries, except when they are not needed :)
Your expression may be overwritten as an aggregate function, depending on which columns you require in the select statement.
SELECT Max(score), Date FROM ScoresTable Group By Date
Bonyt
source share