All right, to give you an idea of what subqueries are, let's analyze the following problem: we want to find cities that have the same rating as Paris.
With the knowledge you have now, you would first need to check the rating for Paris:
SELECT
Rating
FROM City
WHERE Name = N'Paris';
Then, you would need to write down the result of the above query somewhere in your notebook (the rating is 5, by the way) and then construct a new query:
SELECT
Name
FROM City
WHERE Rating = 5;
Subqueries have been introduced to help you with such examples. Simply put, they are 'queries within queries', and they are always nested in parentheses. Take a look:
SELECT
Name
FROM City
WHERE Rating = (
SELECT
Rating
FROM City
WHERE Name = N'Paris'
);
The database will first check the subquery (in the parentheses), then replace the subquery with its result (in this case, the number 5), and then finally check the outer (main) query.
In this particular example, you must write the subquery in such a way that it returns precisely one value (one column of one row) so that it matches the equation "Rating = X". It wouldn't make much sense to put a whole table there, would it?