连接上特定于MySQL的列?

连接上特定于MySQL的列?,mysql,sql,Mysql,Sql,在进行连接(内部、左外部、右外部或其他)时,如何指定表上的哪些列要连接到原始表中 考虑以下示例: SELECT FirstName FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID 这将从user中选择FirstName,但从Provider中选择所有内容。如何指定结果集中应包括提供程序的哪些部分?这将只包括最终结果集中的User.FirstName和提供程序.ProviderID: SELECT User.

在进行连接(内部、左外部、右外部或其他)时,如何指定表上的哪些列要连接到原始表中

考虑以下示例:

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

这将从user中选择FirstName,但从Provider中选择所有内容。如何指定结果集中应包括提供程序的哪些部分?

这将只包括最终结果集中的
User.FirstName
提供程序.ProviderID

SELECT User.FirstName, Provider.ProviderID FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
一,。可以在列之前使用表名,或者如果为表别名,则可以使用别名

例如,
LEFT OUTER JOIN Provider p
,然后您可以访问select子句上的提供者id,如下所示:

 SELECT `User`.FirstName, p.ID

二,。我在表名
User
周围添加了反勾号,因为它是MySQL的保留字

您可以指定要选择的特定项,如:

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

这不是从提供者那里选择一切吗?这不是他想要的吗?至少这是我的理解,但从Provider中选择所有内容您需要查看最后一句:)。“我怎样才能指定提供者的哪些部分应该包含在结果集中?”考虑到在他的查询中没有指定提供者的字段,以及只从提供者中选择所有内容的部分,我坚持认为这是他想要/需要的。这确实是我想要的。谢谢我不明白为什么人们投票否决了你的帖子。
 SELECT `User`.FirstName, p.ID
SELECT User.FirstName, Provider.ID, Provider.Name FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID