2011-07-26 70 views
11

在進行連接時(內部,左邊外部,右邊外部或其他),如何指定表上的哪些列加入到原始表中?MySQL特定的連接列?

請看下面的例子:

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

這會從用戶選擇名字,而是選擇了從商。我如何指定提供者的哪些部分應該包含在結果集中?

回答

10

像這樣:

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

這不會選擇提供者的一切嗎? –

+0

這不是他想要的嗎?至少這是我從*瞭解的內容,但選擇了提供者的所有內容* –

+2

您需要查看最後一句話:)。 「我如何指定提供程序的哪些部分應該包含在結果集中?」 –

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

1.柱之前使用表名,或者如果你的別名你的表,你可以使用別名。

例如LEFT OUTER JOIN Provider p然後你可以在SELECT子句這樣的接入服務提供商ID:

SELECT `User`.FirstName, p.ID 

2.我周圍添加表名User反引號,因爲它是MySQL

保留字
2

您可以指定特定的項目選擇,如:

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