2011-07-26 37 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