ВНУТРЕННЕЕ СОЕДИНЕНИЕ против нескольких имен таблиц в «FROM» [ duplicate]

Possible Duplicate:
INNER JOIN по сравнению с предложением WHERE - есть ли разница?

В чем разница между запросом INNER JOIN и запросом неявного соединения (перечисление нескольких таблиц после ключевого слова FROM)? Например:

Для следующих двух таблиц:

CREATE TABLE Statuses(
  id INT PRIMARY KEY,
  description VARCHAR(50)
);
INSERT INTO Statuses VALUES (1, 'status');

CREATE TABLE Documents(
  id INT PRIMARY KEY,
  statusId INT REFERENCES Statuses(id)
);
INSERT INTO Documents VALUES (9, 1);

В чем разница между этими двумя SQL-запросами? Из проведенного мною тестирования они возвращают тот же результат. Они делают то же самое? Существуют ли ситуации, когда они возвращают разные наборы результатов?

SELECT s.description FROM Documents d, Statuses s WHERE d.statusId = s.id AND d.id = 9;

SELECT s.description FROM Documents d INNER JOIN Statuses s ON d.statusId = s.id WHERE d.id = 9;
22
задан Community 23 May 2017 в 10:34
поделиться