在进行连接操作(内部连接、左外连接、右外连接或其他),我该如何指定要将哪些列加入到原始表中?
考虑以下示例:
SELECT FirstName FROM User LEFT OUTER JOIN Provider ON User.ProviderID = Provider.ID
这将从用户中选择FirstName,但从Provider选择所有内容。如何指定应包含结果集中的Provider的哪些部分?
这将只在最终结果集中包括 User.FirstName
和 Provider.ProviderID
:
SELECT User.FirstName, Provider.ProviderID 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
,然后您可以像这样在选择子句中访问提供者id:
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