如何在USQL中使用子查询?

时间:2016-12-14 10:46:36

标签: subquery azure-data-lake u-sql

我在u-sql中使用follwowing查询时遇到了complilation错误:

@CourseDataExcludingUpdatedCourse = SELECT * FROM @CourseData AS cd 
WHERE cd.CourseID NOT IN (SELECT CourseID FROM @UpdatedCourseData);

不允许我在子查询中使用NOT IN Clause。我想显示@UpdatedCourseData中不存在的所有记录。 如何在U-SQL中实现这一目标?

2 个答案:

答案 0 :(得分:3)

在U-SQL中NOT EXISTS实现为ANTISEMIJOIN,如下所示:

@CourseDataExcludingUpdatedCourse =
    SELECT cd.*
    FROM @CourseData AS cd
         ANTISEMIJOIN
             @UpdatedCourseData AS us
         ON cd.courseId == us.courseId;

有关详细信息,请参阅此处:

https://msdn.microsoft.com/en-us/library/azure/mt621330.aspx

答案 1 :(得分:2)

AuthProvider.AUTH_KEY