Ответ 1
Вот так:
SELECT User.FirstName, Provider.* FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
При создании соединения (внутренний, левый внешний, правый внешний или любой другой), как я могу указать, какие столбцы в таблице будут объединены в исходную таблицу?
Рассмотрим следующий пример:
SELECT FirstName FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
Это выберет FirstName от пользователя, но выберите все из провайдера. Как я могу указать, какие части Поставщика должны быть включены в набор результатов?
Вот так:
SELECT User.FirstName, Provider.* FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
SELECT User.FirstName, Provider.ID, Provider.YourExtraColumnname, Provider.YourExtraColumnname2 FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
SELECT `User`.FirstName, Provider.*
FROM `User`
LEFT OUTER JOIN Provider
ON `User`.ProviderID = Provider.ID
1. Вы используете имя таблицы перед столбцом, или если вы используете псевдоним своих таблиц, вы можете использовать псевдоним.
например. LEFT OUTER JOIN Provider p
, а затем вы можете получить доступ к идентификатору поставщиков в предложении select следующим образом:
SELECT `User`.FirstName, p.ID
2. Я добавил обратные ссылки вокруг имени таблицы User
, потому что это зарезервированное слово для MySQL
Вы можете указать конкретные элементы для выбора, например:
SELECT User.FirstName, Provider.ID, Provider.Name FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID