ссылка http://www.sqlcommands.net/sql+join/
Я хотел бы знать, будет ли она работать, если бы она была
SELECT Weather.City FROM Weather WHERE Weather.City = State.City
, то есть выбрать все те города "из погоды", которые принадлежат государствуtable
сработает ли вышеуказанное, если нет, то почему?
Нет, потому что для использования State.City таблица State должна находиться где-то в списке FROM.
Альтернативой приведенному вами примеру будет:
SELECT Weather.City FROM Weather INNER JOIN State ON Weather.City = State.City
Ваш запрос не будет работать, потому что таблица State не отображается в предложении FROM, поэтому вы не можете ссылаться на ее столбцы.
State
Это будет работать, хотя:
SELECT Weather.City FROM Weather JOIN State ON Weather.City = State.City
или, в качестве альтернативы (используя предложение английского языка в качестве руководства):
SELECT City -- select all those cities FROM Weather -- "from weather" Where City In -- which (Select City From State) -- belong in the state table