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;

使用左外联接或任何其他类型的联接完全取决于您需要的数据类型。这完全是主观的。这取决于预期的结果