будет ли этот запрос альтернативой присоединению (простой) работать? - PullRequest
1 голос
/ 05 июля 2010

ссылка http://www.sqlcommands.net/sql+join/

Я хотел бы знать, будет ли она работать, если бы она была

SELECT Weather.City
FROM Weather
WHERE Weather.City = State.City

, то есть выбрать все те города "из погоды", которые принадлежат государствуtable

сработает ли вышеуказанное, если нет, то почему?

Ответы [ 3 ]

2 голосов
/ 05 июля 2010

Нет, потому что для использования State.City таблица State должна находиться где-то в списке FROM.

Альтернативой приведенному вами примеру будет:

SELECT Weather.City
FROM Weather
INNER JOIN State
ON Weather.City = State.City
1 голос
/ 05 июля 2010

Ваш запрос не будет работать, потому что таблица State не отображается в предложении FROM, поэтому вы не можете ссылаться на ее столбцы.

Это будет работать, хотя:

SELECT Weather.City
FROM Weather
JOIN State
ON Weather.City = State.City
0 голосов
/ 05 июля 2010

или, в качестве альтернативы (используя предложение английского языка в качестве руководства):

SELECT City                -- select all those cities
FROM Weather               -- "from weather"
Where City In              -- which 
  (Select City From State) -- belong in the state table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...