MySQL-специфические столбцы для соединения?

При создании соединения (внутренний, левый внешний, правый внешний или любой другой), как я могу указать, какие столбцы в таблице будут объединены в исходную таблицу?

Рассмотрим следующий пример:

SELECT FirstName FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID

Это выберет FirstName от пользователя, но выберите все из провайдера. Как я могу указать, какие части Поставщика должны быть включены в набор результатов?

Ответ 1

Вот так:

SELECT User.FirstName, Provider.* FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID

Ответ 2

  SELECT User.FirstName, Provider.ID, Provider.YourExtraColumnname, Provider.YourExtraColumnname2 FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID

Ответ 3

         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

Ответ 4

Вы можете указать конкретные элементы для выбора, например:

SELECT User.FirstName, Provider.ID, Provider.Name FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID