

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Capacidades SQL de AWS Clean Rooms Differential Privacy
<a name="dp-sql-capabilities"></a>

AWS Clean Rooms Differential Privacy utiliza una estructura de consultas de uso general para admitir consultas SQL complejas. Las plantillas de análisis personalizadas se validan según esta estructura para garantizar que se puedan ejecutar en tablas protegidas por privacidad diferencial. En la siguiente tabla se indican las funciones compatibles. Para obtener más información, consulte [Estructura y sintaxis de las consultas](analysis-rules-custom.md#dp-query-structure-syntax).


| Categoría | El motor de análisis Spark admite construcciones SQL | Expresiones de tabla comunes () CTEs | Una cláusula SELECT final | 
| --- |--- |--- |--- |
| Funciones de agregación |    Función ANY\$1VALUE   Función APPROXIMATE PERCENTILE\$1DISC   Función AVG   Funciones COUNT y COUNT DISTINCT   Función MAX   Función MEDIAN   Función MIN   Función PERCENTILE\$1CONT   Funciones STDDEV\$1SAMP y STDDEV\$1POP   Funciones SUM y SUM DISTINCT   Funciones VAR\$1SAMP y VAR\$1POP    | Se admiten con la condición de que el CTEs uso de tablas con protección de privacidad diferencial debe generar datos con registros a nivel de usuario. Debe escribir la expresión SELECT en las que CTEs utilicen el `SELECT userIdentifierColumn...' formato. | Agregaciones compatibles: AVG, COUNT, COUNT DISTINCT, STDDEV y SUM. | 
| CTEs | Cláusula WITH, subconsulta de cláusula WITH | Se admite con la condición de que el CTEs uso de tablas con protección de privacidad diferencial debe generar datos con registros a nivel de usuario. Debe escribir la expresión SELECT en las que CTEs utilicen el `SELECT userIdentifierColumn...' formato. | N/A | 
| subconsultas |    SELECT   HAVING   JOIN   Condición de JOIN   FROM   WHERE    | Puede tener cualquier subconsulta que no haga referencia a las relaciones de privacidad diferenciales en estas construcciones. Puede tener cualquier subconsulta que haga referencia a relaciones de privacidad diferenciales únicamente en las cláusulas FROM y JOIN. | 
| Unir cláusulas |    INNER JOIN   LEFT JOIN   SEMIUNIÓN IZQUIERDA   ANTIUNIÓN IZQUIERDA   RIGHT JOIN   FULL JOIN   Operador [JOIN] OR   CROSS JOIN    |  Se admite con la condición de que solo se admitan las funciones JOIN que son equi-joins en las columnas del identificador de usuario y son obligatorias cuando se consultan dos o más tablas con la privacidad diferencial activada. Asegúrese de que las condiciones obligatorias de equi-join sean correctas. Confirme que el propietario de la tabla haya configurado la misma columna de identificador de usuario en todas las tablas para que la definición de usuario siga siendo coherente en todas las tablas. Las funciones CROSS JOIN no se admiten cuando se combinan dos o más relaciones con la privacidad diferencial activada.  | 
| Operadores de establecimiento | UNION, UNION ALL, INTERSECT, EXCEPT \$1 MINUS (son sinónimos) | UNION, UNION ALL, INTERSECT, EXCEPTO \$1 MINUS (son sinónimos) | No compatible | 
| Funciones de ventana |  Funciones de agregación   Función de ventana AVG   Función de ventana COUNT   Función de ventana CUME\$1DIST   Función de ventana DENSE\$1RANK   Función de ventana FIRST\$1VALUE   Función de ventana LAG   Función de ventana LAST\$1VALUE   Función de ventana LEAD   Funciones de ventana MAX   Funciones de ventana MEDIAN   Funciones de ventana MIN   Función de ventana DENSE\$1NTH   Las funciones de ventana STDDEV\$1SAMP y STDDEV\$1POP (STDDEV\$1SAMP y STDDEV son sinónimos)   Funciones de ventana SUM   Las funciones de ventana VAR\$1SAMP y VAR\$1POP (VAR\$1SAMP y VARIANCE son sinónimos)   Funciones de clasificación   Función de ventana DENSE\$1RANK   Función de ventana NTILE   Función de ventana PERCENT\$1RANK   Función de ventana RANK   Función de ventana ROW\$1NUMBER    | Todos son compatibles con la condición de que la columna de identificación de usuario de la cláusula de partición de la función de ventana sea obligatoria cuando se consulte una relación con la privacidad diferencial activada. | No compatible | 
| Expresiones condicionales |    Expresión condicional CASE   Expresión COALESCE   Funciones GREATEST y LEAST   Funciones NVL y COALESCE   NVL2 función   Función NULLIF    | Todos son compatibles | Todos son compatibles | 
| Condiciones |    Condición de comparación   Condiciones lógicas   Condiciones de coincidencia de patrones   Condiciones de rango BETWEEN   Condición nula    | EXISTSy no se IN pueden usar porque requieren subconsultas. Se admiten todas las demás. | Todos son compatibles | 
| Funciones de fecha y hora |    Funciones de fecha y hora en transacciones   Operador de concatenación   Funciones ADD\$1MONTHS   Función CONVERT\$1TIMEZONE   Función CURRENT\$1DATE   Función DATEADD   Función DATEDIFF   Funciones DATE\$1PART   Función DATE\$1TRUNC   Función EXTRACT   Función TO\$1TIMESTAMP   Partes de fecha para funciones de fecha o marca temporal    | Todas son compatibles | Todos son compatibles | 
| Funciones de cadena |    \$1\$1 Operador (concatenación)   Función BTRIM   Función CHAR\$1LENGTH   Función CHARACTER\$1LENGTH   Función CONCAT   Funciones LEFT y RIGHT   Función LEN   Función LENGTH   Función LOWER   Funciones LPAD y RPAD   Función LTRIM   Funciones POSITION   Función REGEXP\$1COUNT   Función REGEXP\$1INSTR   Función REGEXP\$1REPLACE   Función REGEXP\$1SUBSTR   Función REPEAT   Función REPLACE   Función REVERSE   Función RTRIM   Función SPLIT\$1PART   Función SUBSTRING   Función TRANSLATE   Funciones TRIM   Función UPPER    | Todos son compatibles | Todos son compatibles | 
| Funciones de formato de tipo de datos |    Función CAST   TO\$1CHAR   Función TO\$1DATE   TO\$1NUMBER   Cadenas de formatos de fecha y hora   Cadenas de formatos numéricos    | Todos son compatibles | Todos son compatibles | 
| Funciones hash |    AES\$1ENCRYPT   AES\$1DECRYPT   ENCODE   DECODE   MD5 función   SHA1 función   SHA2 función   XX\$1 HASH64    | Todos son compatibles | Todos son compatibles | 
| Símbolos de operadores matemáticos | \$1, -, \$1,/,% y @ | Todos son compatibles | Todos son compatibles | 
| Funciones matemáticas |    Función ABS   Función ACOS   Función ASIN   Función ATAN   ATAN2 función   Función CBRT   Función CEILING (o CEIL)   Función COS   Función COT   Función DEGREES   Función LTRIM   Función EXP   Función FLOOR   Función LN   Función LOG   Función MOD   Función PI   Función POWER   Función RADIANS   Función RANDOM   Función ROUND   Función SIGN   Función SIN   Funciones SQRT   Función TRUNC    | Todos son compatibles | Todos son compatibles | 
| Funciones VARBYTE |    SIN HEXÁGONOS,   UNBASE64   MALEFICIO    HLL\$1SKETCH\$1AGG,    HLL\$1SKETCH\$1ESTIMATE   HLL\$1UNION   HLL\$1UNION\$1AGG    | Todos son compatibles | Todos son compatibles | 
| JSON |    TO\$1JSON   GET\$1JSON\$1OBJECT    | Todos son compatibles | Todos son compatibles | 
| Funciones de matriz |    ARRAY\$1CONTIENE   MATRIZ\$1DISTINCT   MATRIZ\$1EXCEPTO   ARRAY\$1INTERSECT   ARRAY\$1JOIN   ARRAY\$1REMOVE   ARRAY\$1SORT   ARRAY\$1UNION    | No admitido | No admitido | 
| GRUPO EXTENDIDO POR | AGRUPAR CONJUNTOS, ENROLLAR, CUBOS | No admitido | No admitido | 
| Operación de clasificación | ORDER BY | Se admite con la condición de que la cláusula ORDER BY solo se admita en la cláusula de partición de una función de ventana cuando se consultan tablas con la privacidad diferencial activada. |  compatible | 
| Límites de filas | LIMIT, OFFSET | No se admite el CTEs uso de tablas con protección de privacidad diferencial | Todas son compatibles | 
| Alias de tablas y columnas |   | Soportado |  compatible | 
| Funciones matemáticas en funciones agregadas |   | Soportado |  compatible | 
| Funciones escalares dentro de funciones agregadas |   | Soportado |  compatible | 

## Alternativas comunes para constructos SQL no admitidos
<a name="common-alternatives"></a>


| Categoría | Constructo SQL  | Alternativa | 
| --- |--- |--- |
|  Funciones de ventana  |    LISTAGG   PERCENTILE\$1CONT   PERCENTILE\$1DISC    | Puede utilizar la función de agregado equivalente con GROUP BY. | 
| Símbolos de operadores matemáticos |    \$1column \$1\$1/ 2   \$1column \$1/ 2   \$1column ^ 2    |    CBRT   SQRT   POWER(\$1column, 2)    | 
| Funciones escalares |    SYSDATE   \$1column::integer   convert(type, \$1column)    |    CURRENT\$1DATE   CAST \$1column AS integer   CAST \$1column AS type    | 
| Literales | INTERVALO «1 SEGUNDO» | INTERVALO «1» SEGUNDO | 
| Límite de filas | TOP n | LÍMITE n | 
| Join |    USING   NATURAL    | La cláusula ON debe contener explícitamente un criterio de unión. | 