SQL AWS Clean Rooms 差分隐私的功能 - AWS Clean Rooms

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SQL AWS Clean Rooms 差分隐私的功能

AWS Clean Rooms 差异隐私使用通用查询结构来支持复杂的SQL查询。根据此结构对自定义分析模板进行验证,以确保它们可以在受差异隐私保护的表上运行。下表指示支持哪些函数。请参阅查询结构和语法了解更多信息。

短名称 SQL 结构 常用表表达式 (CTEs) 最后SELECT条款
聚合函数
  • ANY_ VALUE 函数

  • APPROXIMATEPERCENTILE_ DISC 函数

  • AVG函数

  • COUNT和COUNTDISTINCT函数

  • LISTAGG函数

  • MAX函数

  • MEDIAN函数

  • MIN函数

  • PERCENTILE_ CONT 函数

  • STDDEV_ SAMP 和 STDDEV _ POP 函数

  • SUM和SUMDISTINCT函数

  • VAR_ SAMP 和 VAR _ POP 函数

支持这样的条件:CTEs使用差异隐私保护的表必须生成具有用户级记录的数据。你应该用那些CTEs使用`SELECT userIdentifierColumn...'格式的SELECT表达式来写出来。 支持的聚合:AVG、COUNT、COUNTDISTINCTSTDDEV、和。SUM
CTEs WITH子句、WITH子句子查询 支持这样的条件:CTEs使用差异隐私保护的表必须生成具有用户级记录的数据。你应该用那些CTEs使用`SELECT userIdentifierColumn...'格式的SELECT表达式来写出来。 不适用
子查询
  • SELECT

  • HAVING

  • JOIN

  • JOIN状况

  • FROM

  • WHERE

在这些结构中,你可以有任何不引用差异隐私关系的子查询。只能在 and 子JOIN句中使用任何引用差异隐私关系FROM的子查询。
联接条款
  • INNER JOIN

  • LEFT JOIN

  • RIGHT JOIN

  • FULL JOIN

  • [JOIN] OR 运算符

  • CROSS JOIN

支持以下条件:仅支持用户标识符列上的等值联接JOIN函数,并且在查询两个或更多开启差异隐私的表时是必需的。确保必需的等值联接条件是正确的。确认表所有者在所有表中配置了相同的用户标识符列,以便用户的定义在表之间保持一致。

CROSSJOIN在开启差分隐私的情况下合并两个或多个关系时,不支持函数。

集合运算符 UNION、UNIONALL、INTERSECT、EXCEPT |MINUS(这些是同义词) 全部支持 不支持
窗口函数

聚合函数

  • AVG窗口函数

  • COUNT窗口函数

  • CUME_ DIST 窗口功能

  • DENSE_ RANK 窗口功能

  • FIRST_ VALUE 窗口功能

  • LAG窗口函数

  • LAST_ VALUE 窗口功能

  • LEAD窗口函数

  • MAX窗口函数

  • MEDIAN窗口函数

  • MIN窗口函数

  • NTH_ VALUE 窗口功能

  • RATIO_TO_ 窗口函数 REPORT

  • STDDEV_ SAMP 和 STDDEV _ POP 窗口函数(STDDEV_ SAMP 和STDDEV是同义词)

  • SUM窗口函数

  • VAR_ SAMP 和 VAR _ POP 窗口函数(VAR_ SAMP 和VARIANCE是同义词)

排名函数

  • DENSE_ RANK 窗口功能

  • NTILE窗口函数

  • PERCENT_ RANK 窗口功能

  • RANK窗口函数

  • ROW_ NUMBER 窗口功能

在查询开启差异隐私的关系时,窗口函数的分区子句中的用户标识符列是必填的,条件是所有这些都支持。 不支持
条件表达式
  • CASE条件表达式

  • COALESCE表情

  • GREATEST和LEAST函数

  • NVL和COALESCE函数

  • NVL2函数

  • NULLIF函数

全部支持 全部支持
Conditions
  • 比较条件

  • 逻辑条件

  • 模式匹配条件

  • BETWEEN范围条件

  • Null 条件

EXISTS并且IN不能使用,因为它们需要子查询。支持所有其他内容。 全部支持
日期时间函数
  • 事务中的日期和时间函数

  • 串联运算符

  • ADD_ MONTHS 函数

  • CONVERT_ TIMEZONE 函数

  • CURRENT_ DATE 函数

  • DATEADD函数

  • DATEDIFF函数

  • DATE_ PART 函数

  • DATE_ TRUNC 函数

  • EXTRACT函数

  • GETDATE函数

  • TIMEOFDAY函数

  • TO_ 函数 TIMESTAMP

  • 日期或时间戳函数的日期部分

全部支持 全部支持
字符串函数
  • ||(串联)运算符

  • BTRIM函数

  • CHAR_ LENGTH 函数

  • CHARACTER_ LENGTH 函数

  • CHARINDEX函数

  • CONCAT函数

  • LEFT和RIGHT函数

  • LEN函数

  • LENGTH函数

  • LOWER函数

  • LPAD和RPAD函数

  • LTRIM函数

  • POSITION函数

  • REGEXP_ COUNT 函数

  • REGEXP_ INSTR 函数

  • REGEXP_ REPLACE 函数

  • REGEXP_ SUBSTR 函数

  • REPEAT函数

  • REPLACE函数

  • REPLICATE函数

  • REVERSE函数

  • RTRIM函数

  • SOUNDEX函数

  • SPLIT_ PART 函数

  • STRPOS函数

  • SUBSTRING函数

  • TEXTLEN函数

  • TRANSLATE函数

  • TRIM函数

  • UPPER函数

全部支持 全部支持
数据类型格式设置函数
  • CAST函数

  • TO_ CHAR

  • TO_ 函数 DATE

  • TO_ NUMBER

  • 日期时间格式字符串

  • 数字格式字符串

全部支持 全部支持
哈希函数
  • MD5函数

  • SHA函数

  • SHA1函数

  • SHA2函数

  • MURMUR3_32_ HASH

全部支持 全部支持
数学运算符符号 +、-、*、/、% 和 @ 全部支持 全部支持
数学函数
  • ABS函数

  • ACOS函数

  • ASIN函数

  • ATAN函数

  • ATAN2函数

  • CBRT函数

  • CEILING(或CEIL)函数

  • COS函数

  • COT函数

  • DEGREES函数

  • DEXP函数

  • LTRIM函数

  • DLOG1函数

  • DLOG10 函数

  • EXP函数

  • FLOOR函数

  • LN 函数

  • LOG函数

  • MOD函数

  • PI 函数

  • POWER函数

  • RADIANS函数

  • RANDOM函数

  • ROUND函数

  • SIGN函数

  • SIN函数

  • SQRT函数

  • TRUNC函数

全部支持 全部支持
SUPER类型信息函数
  • DECIMAL_ PRECISION 函数

  • DECIMAL_ SCALE 函数

  • IS_ 函数 ARRAY

  • IS_ 函数 BIGINT

  • IS_ 函数 CHAR

  • IS_ 函数 DECIMAL

  • IS_ 函数 FLOAT

  • IS_ 函数 INTEGER

  • IS_ 函数 OBJECT

  • IS_ 函数 SCALAR

  • IS_ 函数 SMALLINT

  • IS_ 函数 VARCHAR

  • JSON_ TYPEOF 函数

全部支持 全部支持
VARBYTE函数
  • FROM_ HEX 函数

  • FROM_ VARBYTE 函数

  • TO_ 函数 HEX

  • TO_ 函数 VARBYTE

全部支持 全部支持
JSON
  • CAN_ JSON _ PARSE 函数

  • JSON_ EXTRACT _ _ ARRAY ELEMENT _ TEXT 函数

  • JSON_ EXTRACT _ PATH _ TEXT 函数

  • JSON_ PARSE 函数

  • JSON_ SERIALIZE 函数

  • JSON_ SERALIZE _TO VARBYTE _ 函数

全部支持 全部支持
数组函数
  • 数组函数

  • array_concat 函数

  • array_flatten 函数

  • get_array_length 函数

  • split_to_array 函数

  • 子数组函数

不支持 不支持
扩展GROUP者 GROUPING SETS, ROLLUP, CUBE 不支持 不支持
排序操作 ORDER由 仅在查询开启差异隐私ORDER的表时,窗口函数的分区子句中才支持 BY 子句,条件是仅支持 BY 子句。 支持
行数限制 LIMIT, OFFSET 不支持CTEs使用受差异隐私保护的表 全部支持
表和列别名 支持 支持
聚合函数上的数学函数 支持 支持
聚合函数中的标量函数 支持 支持

不支持的SQL构造的常用替代方案

类别 SQL构造 或者

窗口函数

  • LISTAGG

  • PERCENTILE_CONT

  • PERCENTILE_DISC

您可以将等效的聚合函数与 B GROUP Y 一起使用。
数学运算符符号
  • $column ||/ 2

  • $column |/ 2

  • $column ^ 2

  • CBRT

  • SQRT

  • POWER($列,2)

标量函数
  • SYSDATE

  • $column::integer

  • convert(type, $column)

  • CURRENT_DATE

  • CAST$column 作为整数

  • CAST$column AS 类型

文本 INTERVAL'1 'SECOND INTERVAL'1' SECOND
行数限制 TOPn LIMITn
联接
  • USING

  • NATURAL

ON 子句应明确包含连接标准。