

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzionalità SQL di AWS Clean Rooms Differential Privacy
<a name="dp-sql-capabilities"></a>

AWS Clean Rooms Differential Privacy utilizza una struttura di query generica per supportare query SQL complesse. I modelli di analisi personalizzati vengono convalidati in base a questa struttura per garantire che possano essere eseguiti su tabelle protette dalla privacy differenziale. La tabella seguente indica quali funzioni sono supportate. Per ulteriori informazioni, consulta [Struttura e sintassi delle query](analysis-rules-custom.md#dp-query-structure-syntax).


| Categoria | Costrutti SQL supportati nel motore di analisi Spark | Espressioni di tabella comuni () CTEs | Clausola SELECT finale | 
| --- |--- |--- |--- |
| Funzioni di aggregazione |    Funzione ANY\$1VALUE   Funzione APPROXIMATE PERCENTILE\$1DISC   Funzione AVG   Funzioni COUNT e COUNT DISTINCT   Funzione MAX   Funzione MEDIAN   Funzione MIN   Funzione PERCENTILE\$1CONT   Funzioni STDDEV\$1SAMP e STDDEV\$1POP   Funzioni SUM e SUM DISTINCT   Funzioni VAR\$1SAMP e VAR\$1POP    | Supportata a condizione che l' CTEs utilizzo di tabelle differenziali protette dalla privacy debba generare dati con record a livello utente. È necessario scrivere l'espressione SELECT in quelle che CTEs utilizzano `SELECT userIdentifierColumn...' il formato. | Aggregazioni supportate: AVG, COUNT, COUNT DISTINCT, STDDEV e SUM. | 
| CTEs | clausola WITH, clausola WITH, sottoquery | Supportata a condizione che l' CTEs utilizzo di tabelle differenziali protette dalla privacy debba generare dati con record a livello utente. È necessario scrivere l'espressione SELECT in quelle che CTEs utilizzano `SELECT userIdentifierColumn...' il formato. | N/D | 
| Sottoquery |    SELECT   HAVING   JOIN   Condizione JOIN   FROM   WHERE    | Puoi avere qualsiasi sottoquery che non faccia riferimento a relazioni di privacy differenziali in questi costrutti. È possibile avere qualsiasi sottoquery che faccia riferimento a relazioni di privacy differenziali solo in una clausola FROM e JOIN. | 
| Clausole Join |    INNER JOIN   LEFT JOIN   LEFT SEMI JOIN   ANTIUNIONE SINISTRA   RIGHT JOIN   ADESIONE COMPLETA   [JOIN] operatore OR   CROSS JOIN    |  Supportato a condizione che solo le funzioni JOIN che sono equi-join nelle colonne degli identificatori utente siano supportate e siano obbligatorie quando si eseguono query su due o più tabelle con la privacy differenziale attivata. Assicurati che le condizioni equi-join obbligatorie siano corrette. Verifica che il proprietario della tabella abbia configurato la stessa colonna identificativa utente in tutte le tabelle in modo che la definizione di un utente rimanga coerente tra le tabelle. Le funzioni CROSS JOIN non sono supportate quando si combinano due o più relazioni con la privacy differenziale attivata.  | 
| Operatori su set | UNION, UNION ALL, INTERSECT, EXCEPT \$1 MINUS (questi sono sinonimi) | UNION, UNION ALL, INTERSECT, EXCEPT \$1 MINUS (questi sono sinonimi) | Non supportata | 
| Funzioni finestra |  Funzioni di aggregazione   Funzione finestra AVG   Funzione finestra COUNT   Funzione finestra CUME\$1DIST   Funzione finestra DENSE\$1RANK   Funzione finestra FIRST\$1VALUE   Funzione finestra LAG   Funzione finestra LAST\$1VALUE   Funzione finestra LEAD   Funzioni MAX Window   Funzioni della finestra MEDIAN   Funzioni della finestra MIN   Funzione finestra NTH\$1VALUE   funzione di finestra STDDEV\$1SAMP e STDDEV\$1POP (STDDEV\$1SAMP e STDDEV sono sinonimi)   Funzioni della finestra SUM   Funzioni di finestra VAR\$1SAMP e VAR\$1POP (VAR\$1SAMP e VARIANCE sono sinonimi)   Funzioni di classificazione   Funzione finestra DENSE\$1RANK   Funzione finestra NTILE   Funzione finestra PERCENT\$1RANK   Funzione finestra RANK   Funzione finestra ROW\$1NUMBER    | Tutte sono supportate a condizione che la colonna dell'identificatore utente nella clausola di partizione della funzione finestra sia richiesta quando si esegue una query su una relazione con la privacy differenziale attivata. | Non supportata | 
| Espressioni condizionali |    espressione della condizione CASE   espressione COALESCE   Funzioni GREATEST e LEAST   Funzioni NVL e COALESCE   NVL2 funzione   Funzione NULLIF    | Tutti sono supportati | Sono tutte supportate | 
| Condizioni |    Condizione di confronto   Condizioni logiche   Condizioni di corrispondenza di modelli   Condizioni di intervallo BETWEEN   Condizione Null    | EXISTSe non IN possono essere utilizzati perché richiedono sottoquery. Tutti gli altri sono supportati. | Tutti sono supportati | 
| Funzioni data-ora |    Funzioni di data e ora nelle transazioni   Operatore di concatenazione   Funzioni ADD\$1MONTHS   Funzione CONVERT\$1TIMEZONE   Funzione CURRENT\$1DATE   Funzione DATEADD   Funzione DATEDIFF   Funzioni DATE\$1PART   Funzione DATE\$1TRUNC   Funzione EXTRACT   Funzione TO\$1TIMESTAMP   Parti di data per funzioni di data e timestamp    | Sono tutte supportate | Sono tutte supportate | 
| Funzioni stringa |    \$1\$1 operatore (concatenazione)   Funzione BTRIM   Funzione CHAR\$1LENGTH   Funzione CHARACTER\$1LENGTH   Funzione CONCAT   Funzioni LEFT e RIGHT   Funzione LEN   Funzione LENGTH   Funzione LOWER   Funzioni LPAD e RPAD   Funzione LTRIM   Funzioni POSITION   Funzione REGEXP\$1COUNT   Funzione REGEXP\$1INSTR   Funzione REGEXP\$1REPLACE   Funzione REGEXP\$1SUBSTR   Funzione REPEAT   Funzione REPLACE   Funzione REVERSE   Funzione RTRIM   Funzione SPLIT\$1PART   Funzione SUBSTRING   Funzione TRANSLATE   Funzioni TRIM   Funzione UPPER    | Sono tutte supportate | Sono tutte supportate | 
| Funzioni di formattazione del tipo di dati |    Funzione CAST   TO\$1CHAR   Funzione TO\$1DATE   TO\$1NUMBER   Stringhe di formato datetime   Stringhe di formato numerico    | Sono tutte supportate | Sono tutte supportate | 
| Funzioni hash |    AES\$1ENCRYPT   AES\$1DECRYPT   ENCODE   DECODE   MD5 funzione   SHA1 funzione   SHA2 funzione   XX\$1 HASH64    | Tutti sono supportati | Sono tutte supportate | 
| Simboli degli operatori matematici | \$1, -, \$1,/,% e @ | Tutti sono supportati | Sono tutte supportate | 
| Funzioni matematiche |    Funzione ABS   Funzione ACOS   Funzione ASIN   Funzione ATAN   ATAN2 funzione   Funzione CBRT   Funzione CEILING (oppure CEIL)   Funzione COS   Funzione COT   Funzione DEGREES   Funzione LTRIM   Funzione EXP   Funzione FLOOR   Funzione LN   Funzione LOG   Funzione MOD   Funzione PI   Funzione POWER   Funzioni RADIANS   Funzione RANDOM   Funzione ROUND   Funzione SIGN   Funzione SIN   funzioni SQRT   Funzione TRUNC    | Sono tutte supportate | Sono tutte supportate | 
| Funzioni VARBYTE |    UNESADECIMALE,   UNBASE64   ESAGONALE    HLL\$1SKETCH\$1AGG,    HLL\$1SKETCH\$1ESTIMATE   HLL\$1UNION   HLL\$1UNION\$1AGG    | Tutti sono supportati | Sono tutte supportate | 
| JSON |    TO\$1JSON   GET\$1JSON\$1OBJECT    | Tutti sono supportati | Sono tutte supportate | 
| Funzioni di array |    ARRAY\$1CONTAINS   ARRAY\$1DISTINCT   ARRAY\$1EXCEPT   ARRAY\$1INTERSECT   ARRAY\$1JOIN   ARRAY\$1REMOVE   ORDINAMENTO\$1MATRICE   UNIONE A MATRICE    | Non supportata | Non supportata | 
| GROUP BY esteso | SET DI RAGGRUPPAMENTO, ROLLUP, CUBO | Non supportata | Non supportata | 
| Operazione di ordinamento | ORDER BY | Supportata a condizione che una clausola ORDER BY sia supportata solo nella clausola di partizione di una funzione finestra quando si eseguono interrogazioni su tabelle con privacy differenziale attivata. | Supportata | 
| Limiti di riga | LIMIT, OFFSET | Non è supportato CTEs l'utilizzo di tabelle differenziali protette dalla privacy | Sono tutte supportate | 
| Alias di tabelle e colonne |   | Supportata | Supportata | 
| Funzioni matematiche su funzioni aggregate |   | Supportata | Supportata | 
| Funzioni scalari all'interno di funzioni aggregate |   | Supportata | Supportata | 

## Alternative comuni per costrutti SQL non supportati
<a name="common-alternatives"></a>


| Categoria | costrutto SQL | In alternativa | 
| --- |--- |--- |
|  Funzioni finestra  |    LISTAGG   PERCENTILE\$1CONT   PERCENTILE\$1DISC    | È possibile utilizzare la funzione di aggregazione equivalente con GROUP BY. | 
| Simboli degli operatori matematici |    \$1colonna \$1\$1/ 2   \$1colonna \$1/ 2   \$1colonna ^ 2    |    CBRT   SQRT   POTENZA (\$1colonna, 2)    | 
| Funzioni scalari |    SYSDATE   \$1colonna: :intero   converti (tipo, \$1colonna)    |    CURRENT\$1DATE   CAST \$1column COME numero intero   Tipo AS CAST \$1column    | 
| Valori letterali | INTERVALLO '1 SECONDO' | INTERVALLO '1' SECONDO | 
| limitazione delle righe | TOP n | LIMITE n | 
| Join |    USING   NATURAL    | La clausola ON deve contenere esplicitamente un criterio di unione. | 