本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SQL AWS Clean Rooms 差分隐私的功能
AWS Clean Rooms 差异隐私使用通用查询结构来支持复杂的SQL查询。根据此结构对自定义分析模板进行验证,以确保它们可以在受差异隐私保护的表上运行。下表指示支持哪些函数。请参阅查询结构和语法了解更多信息。
短名称 | SQL 结构 | 常用表表达式 (CTEs) | 最后SELECT条款 |
---|---|---|---|
聚合函数 |
|
支持这样的条件:CTEs使用差异隐私保护的表必须生成具有用户级记录的数据。你应该用那些CTEs使用`SELECT
userIdentifierColumn...' 格式的SELECT表达式来写出来。 |
支持的聚合:AVG、COUNT、COUNTDISTINCTSTDDEV、和。SUM |
CTEs | WITH子句、WITH子句子查询 | 支持这样的条件:CTEs使用差异隐私保护的表必须生成具有用户级记录的数据。你应该用那些CTEs使用`SELECT
userIdentifierColumn...' 格式的SELECT表达式来写出来。 |
不适用 |
子查询 |
|
在这些结构中,你可以有任何不引用差异隐私关系的子查询。只能在 and 子JOIN句中使用任何引用差异隐私关系FROM的子查询。 | |
联接条款 |
|
支持以下条件:仅支持用户标识符列上的等值联接JOIN函数,并且在查询两个或更多开启差异隐私的表时是必需的。确保必需的等值联接条件是正确的。确认表所有者在所有表中配置了相同的用户标识符列,以便用户的定义在表之间保持一致。 CROSSJOIN在开启差分隐私的情况下合并两个或多个关系时,不支持函数。 |
|
集合运算符 | UNION、UNIONALL、INTERSECT、EXCEPT |MINUS(这些是同义词) | 全部支持 | 不支持 |
窗口函数 |
聚合函数
排名函数
|
在查询开启差异隐私的关系时,窗口函数的分区子句中的用户标识符列是必填的,条件是所有这些都支持。 | 不支持 |
条件表达式 |
|
全部支持 | 全部支持 |
Conditions |
|
EXISTS 并且IN 不能使用,因为它们需要子查询。支持所有其他内容。 |
全部支持 |
日期时间函数 |
|
全部支持 | 全部支持 |
字符串函数 |
|
全部支持 | 全部支持 |
数据类型格式设置函数 |
|
全部支持 | 全部支持 |
哈希函数 |
|
全部支持 | 全部支持 |
数学运算符符号 | +、-、*、/、% 和 @ | 全部支持 | 全部支持 |
数学函数 |
|
全部支持 | 全部支持 |
SUPER类型信息函数 |
|
全部支持 | 全部支持 |
VARBYTE函数 |
|
全部支持 | 全部支持 |
JSON |
|
全部支持 | 全部支持 |
数组函数 |
|
不支持 | 不支持 |
扩展GROUP者 | GROUPING SETS, ROLLUP, CUBE | 不支持 | 不支持 |
排序操作 | ORDER由 | 仅在查询开启差异隐私ORDER的表时,窗口函数的分区子句中才支持 BY 子句,条件是仅支持 BY 子句。 | 支持 |
行数限制 | LIMIT, OFFSET | 不支持CTEs使用受差异隐私保护的表 | 全部支持 |
表和列别名 | 支持 | 支持 | |
聚合函数上的数学函数 | 支持 | 支持 | |
聚合函数中的标量函数 | 支持 | 支持 |
不支持的SQL构造的常用替代方案
类别 | SQL构造 | 或者 |
---|---|---|
窗口函数 |
|
您可以将等效的聚合函数与 B GROUP Y 一起使用。 |
数学运算符符号 |
|
|
标量函数 |
|
|
文本 | INTERVAL'1 'SECOND | INTERVAL'1' SECOND |
行数限制 | TOPn | LIMITn |
联接 |
|
ON 子句应明确包含连接标准。 |