Tsql 使用函数时正确使用哪个联接?
以这个示例代码为例Tsql 使用函数时正确使用哪个联接?,tsql,Tsql,以这个示例代码为例 SELECT Persons.name, getCarModelID(Persons.ID) AS car_model -- < A function FROM Persons LEFT OUTER JOIN Cars ON getCarModelID(Persons.ID) = Cars.ID 在上面的示例中,使用左外部联接是否正确?如果计划使用函数联接表,则需要使用T-SQL外部应用运算符。类似于您使用的左连接,上述操作将是可能
SELECT Persons.name,
getCarModelID(Persons.ID) AS car_model -- < A function
FROM Persons
LEFT OUTER JOIN Cars ON getCarModelID(Persons.ID) = Cars.ID
在上面的示例中,使用左外部联接是否正确?如果计划使用函数联接表,则需要使用T-SQL外部应用运算符。类似于您使用的左连接,上述操作将是可能的 联接只能联接两个或多个表,但不能联接具有函数的表。 你可以 正确的代码如下所示:
SELECT Persons.name,
getCarModelID(Persons.ID) AS car_model -- < A function
FROM Persons
OUTER APPLY Cars ON getCarModelID(Persons.ID) = Cars.ID;
使用左外联接或任何其他类型的联接完全取决于您需要的数据类型。这完全是主观的。这取决于预期的结果