Принятый ответ является правильным, но я столкнулся со странной ошибкой, когда таблицы находятся в двух разных базах данных:
Предполагая, что таблица1 находится в базе данных1, а таблица2 - в базе данных2.Первоначально я пробовал это:
SELECT *, database2.table2.first_name FROM table1
LEFT JOIN database2.table2
ON database1.table1.id = database2.table2.table1_id
WHERE table1.id = 1
Странно, что если я пытаюсь выполнить этот запрос из PHP PDO, ошибок не было, но результат содержал все столбцы из database2.table2 (ожидался только столбец first_name).
Но если я попробовал тот же запрос от phpmyadmin, то получил ошибку синтаксиса:
Таблица 'database2.table1' не существует
Таким образом, для решения этой проблемы, все базы данных должны быть указаны неявно, как это :
SELECT database1.table1.*, database2.table2.first_name FROM database1.table1
LEFT JOIN database2.table2
ON database1.table1.id = database2.table2.table1_id
WHERE database1.table1.id = 1