в случае, если MySQL выполняет
пользовать в случае, если MySQL выполняет сортировку неэффективно, соединяя таблицы в неправильном порядке.
Table 1 LEFT [OUTER] JOIN Table2 ОN clause
Сравнивает правую таблицу с выражением. Для каждой не соответствующей ему записи при соединении с левой таблицей будет использована запись, состоящая из значений NULL. В предыдущем примере SELECT * FROM people, homes LEFT JOIN people, homes ON people. id=homes. owner объединенная таблица содержала бы все записи, совпадающие в обеих таблицах, а также все записи таблицы people, которым нет соответствия в таблице homes; для соответствующих полей таблицы homes использовались бы значения NULL. Ключевое слово OUTER необязательно и не имеет эффекта.
Tablel LEFT [OUTER] JOIN Table2 USING (column[, column2. . . ])
Объединяет указанные столбцы, только если они есть в обеих таблицах (например, SELECT * FROM old LEFT OUTER JOIN new USING (id) ).
Tablel NATURAL LEFT [OUTER] JOIN Table2
Объединяет только те столбцы, которые существуют в обеих таблицах. Тот же эффект дает использование предыдущего способа с указанием всех столбцов, имеющихся в той и другой таблице. (Например, SELECT rich_people.salary, poor_people.salary FROM rich_people NATURAL LEFT JOIN poorjeople .)
{oj Tablel LEFT OUTER JOIN Table2 ON clause }
Это аналог выражения Table 1 LEFT JOIN Table2 ON clause, и поддерживается только для совместимости с ODBC («oj»заменяет «Outer Join»).
Если выражение не задано, SELECT вернет все данные из выбранных таблиц (таблицы).
Предложение отбора может содержать любые из следующих подфраз:
WHERE statement
Команда WHERE - это самый обычный способ выборки данных в SQL. Обычно фраза является сравнением какого-либо типа, но также может содержать любые из указанных ниже функций, кроме агрегатных. Также могут быть использованы имена, такие как имена столбцов и псевдонимы, числовые константы и строки. Поддерживаются следующие операторы:
()
Скобки используются для группировки операторов, чтобы указать старшинство.