SQLfonctionnalités de la confidentialité AWS Clean Rooms différentielle - AWS Clean Rooms

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

SQLfonctionnalités de la confidentialité AWS Clean Rooms différentielle

AWS Clean Rooms La confidentialité différentielle utilise une structure de requête polyvalente pour prendre en charge les requêtes complexesSQL. Les modèles d'analyse personnalisés sont validés par rapport à cette structure afin de garantir qu'ils peuvent être exécutés sur des tables protégées par une confidentialité différentielle. Le tableau suivant indique les fonctions prises en charge. Pour plus d’informations, consultez Structure et syntaxe des requêtes.

Nom court SQLconstruit Expressions de table courantes (CTEs) SELECTClause finale
Fonctions d’agrégation
  • ANY_ VALUE fonction

  • APPROXIMATEPERCENTILE_ DISC fonction

  • AVGfonction

  • COUNTet COUNT DISTINCT fonctions

  • LISTAGGfonction

  • MAXfonction

  • MEDIANfonction

  • MINfonction

  • PERCENTILE_ CONT fonction

  • STDDEVPOPfonctions STDDEV _ SAMP et _

  • SUMet SUM DISTINCT fonctions

  • VARPOPfonctions VAR _ SAMP et _

Soutenu à la condition que l'CTEsutilisation de tables protégées par la confidentialité différentielle doit aboutir à des données contenant des enregistrements au niveau de l'utilisateur. Vous devez écrire l'SELECTexpression dans ceux qui CTEs utilisent le `SELECT userIdentifierColumn...' format. Agrégations prises en charge : AVGCOUNT, COUNTDISTINCT,STDDEV, etSUM.
CTEs WITHclause, WITH sous-requête de clause Soutenu à la condition que l'CTEsutilisation de tables protégées par la confidentialité différentielle doit aboutir à des données contenant des enregistrements au niveau de l'utilisateur. Vous devez écrire l'SELECTexpression dans ceux qui CTEs utilisent le `SELECT userIdentifierColumn...' format. N/A
Sous-requêtes
  • SELECT

  • HAVING

  • JOIN

  • JOINétat

  • FROM

  • WHERE

Vous pouvez avoir n'importe quelle sous-requête qui ne fait pas référence à des relations de confidentialité différentielles dans ces constructions. Toute sous-requête ne peut faire référence à des relations de confidentialité différentielles que dans une JOIN clause FROM and.
Clauses d'adhésion
  • INNER JOIN

  • LEFT JOIN

  • RIGHT JOIN

  • FULL JOIN

  • [JOIN] Opérateur OR

  • CROSS JOIN

Pris en charge à condition que seules JOIN les fonctions qui sont des jointures égales sur les colonnes d'identifiant utilisateur soient prises en charge et soient obligatoires lors de l'interrogation de deux tables ou plus avec la confidentialité différentielle activée. Assurez-vous que les conditions d'équijointure obligatoires sont correctes. Vérifiez que le propriétaire de la table a configuré la même colonne d'identifiant utilisateur dans toutes les tables afin que la définition d'un utilisateur reste cohérente d'une table à l'autre.

CROSSJOINles fonctions ne sont pas prises en charge lors de la combinaison de deux ou plusieurs relations lorsque la confidentialité différentielle est activée.

Définir les opérateurs UNION, UNIONALL,INTERSECT, EXCEPT | MINUS (ce sont des synonymes) Tous sont pris en charge Non pris en charge
Fonctions de fenêtrage

Fonctions d’agrégation

  • AVGfonction de fenêtre

  • COUNTfonction de fenêtre

  • CUME_ fonction DIST de fenêtre

  • DENSE_ fonction RANK de fenêtre

  • FIRST_ fonction VALUE de fenêtre

  • LAGfonction de fenêtre

  • LAST_ fonction VALUE de fenêtre

  • LEADfonction de fenêtre

  • MAXfonctions de fenêtre

  • MEDIANfonctions de fenêtre

  • MINfonctions de fenêtre

  • NTH_ fonction VALUE de fenêtre

  • RATIOfonction de fenêtre _TO_ REPORT

  • STDDEVfonctions de POP fenêtre STDDEV _ SAMP et _ (STDDEV_ SAMP et STDDEV sont des synonymes)

  • SUMfonctions de fenêtre

  • VARfonctions de POP fenêtre VAR _ SAMP et _ (VAR_ SAMP et VARIANCE sont des synonymes)

Fonctions de classement

  • DENSE_ fonction RANK de fenêtre

  • NTILEfonction de fenêtre

  • PERCENT_ fonction RANK de fenêtre

  • RANKfonction de fenêtre

  • ROW_ fonction NUMBER de fenêtre

Tous sont pris en charge à condition que la colonne d'identifiant utilisateur de la clause de partition de la fonction de fenêtre soit requise lorsque vous interrogez une relation avec la confidentialité différentielle activée. Non pris en charge
Expressions conditionnelles
  • CASEexpression de condition

  • COALESCEexpression

  • GREATESTet LEAST fonctions

  • NVLet COALESCE fonctions

  • NVL2fonction

  • NULLIFfonction

Tous sont pris en charge Tous sont pris en charge
Conditions
  • Condition de comparaison

  • Conditions logiques

  • Conditions de correspondance de modèles

  • BETWEENconditions d'autonomie

  • Condition null

EXISTSet IN ne peuvent pas être utilisés car ils nécessitent des sous-requêtes. Tous les autres sont pris en charge. Tous sont pris en charge
Fonctions date-heure
  • Fonctions date et heure dans les transactions

  • Opérateur de concaténation

  • ADD_ MONTHS fonctions

  • CONVERT_ TIMEZONE fonction

  • CURRENT_ DATE fonction

  • DATEADDfonction

  • DATEDIFFfonction

  • DATE_ PART fonctions

  • DATE_ TRUNC fonction

  • EXTRACTfonction

  • GETDATEfonction

  • TIMEOFDAYfonctions

  • Fonction TO_ TIMESTAMP

  • Parties de date pour les fonctions de date ou d’horodatage

Tous sont pris en charge Tous sont pris en charge
Fonctions de chaîne
  • opérateur || (concaténation)

  • BTRIMfonction

  • CHAR_ LENGTH fonction

  • CHARACTER_ LENGTH fonction

  • CHARINDEXfonction

  • CONCATfonction

  • LEFTet RIGHT fonctions

  • LENfonction

  • LENGTHfonction

  • LOWERfonction

  • LPADet RPAD fonctions

  • LTRIMfonction

  • POSITIONfonctions

  • REGEXP_ COUNT fonction

  • REGEXP_ INSTR fonction

  • REGEXP_ REPLACE fonction

  • REGEXP_ SUBSTR fonction

  • REPEATfonction

  • REPLACEfonction

  • REPLICATEfonction

  • REVERSEfonction

  • RTRIMfonction

  • SOUNDEXfonction

  • SPLIT_ PART fonction

  • STRPOSfonction

  • SUBSTRINGfonction

  • TEXTLENfonction

  • TRANSLATEfonction

  • TRIMfonctions

  • UPPERfonction

Tous sont pris en charge Tous sont pris en charge
Fonctions de formatage des types de données
  • CASTfonction

  • À_ CHAR

  • Fonction TO_ DATE

  • À_ NUMBER

  • Chaînes de format datetime

  • Chaînes de format numériques

Tous sont pris en charge Tous sont pris en charge
Fonctions de hachage
  • MD5fonction

  • SHAfonction

  • SHA1fonction

  • SHA2fonction

  • MURMUR3_32_ HASH

Tous sont pris en charge Tous sont pris en charge
Symboles d’opérateurs mathématiques +, -, *,/, % et @ Tous sont pris en charge Tous sont pris en charge
Fonctions mathématiques
  • ABSfonction

  • ACOSfonction

  • ASINfonction

  • ATANfonction

  • ATAN2fonction

  • CBRTfonction

  • CEILING(ouCEIL) fonction

  • COSfonction

  • COTfonction

  • DEGREESfonction

  • DEXPfonction

  • LTRIMfonction

  • DLOG1fonction

  • DLOG10 fonction

  • EXPfonction

  • FLOORfonction

  • Fonction LN

  • LOGfonction

  • MODfonction

  • Fonction PI

  • POWERfonction

  • RADIANSfonction

  • RANDOMfonction

  • ROUNDfonction

  • SIGNfonction

  • SINfonction

  • SQRTfonctions

  • TRUNCfonction

Tous sont pris en charge Tous sont pris en charge
SUPERfonctions d'information de type
  • DECIMAL_ PRECISION fonction

  • DECIMAL_ SCALE fonction

  • Fonction IS_ ARRAY

  • Fonction IS_ BIGINT

  • Fonction IS_ CHAR

  • Fonction IS_ DECIMAL

  • Fonction IS_ FLOAT

  • Fonction IS_ INTEGER

  • Fonction IS_ OBJECT

  • Fonction IS_ SCALAR

  • Fonction IS_ SMALLINT

  • Fonction IS_ VARCHAR

  • JSON_ TYPEOF fonction

Tous sont pris en charge Tous sont pris en charge
VARBYTEfonctions
  • FROM_ HEX fonction

  • FROM_ VARBYTE fonction

  • Fonction TO_ HEX

  • Fonction TO_ VARBYTE

Tous sont pris en charge Tous sont pris en charge
JSON
  • CAN_ JSON _ PARSE fonction

  • JSON_ EXTRACT _ ARRAY _ ELEMENT _ TEXT fonction

  • JSON_ EXTRACT _ PATH _ TEXT fonction

  • JSON_ PARSE fonction

  • JSON_ SERIALIZE fonction

  • JSONFonction _ SERALIZE VARBYTE _TO_

Tous sont pris en charge Tous sont pris en charge
Fonctions de tableau
  • Fonction array

  • Fonction array_concat

  • Fonction array_flatten

  • Fonction get_array_length

  • Fonction split_to_array

  • Fonction subarray

Non pris en charge Non pris en charge
Prolongé GROUP par GROUPING SETS, ROLLUP, CUBE Non pris en charge Non pris en charge
Opération de tri ORDERPAR Supportée à la condition qu'une clause ORDER BY ne soit prise en charge dans la clause de partition d'une fonction de fenêtre que lors de l'interrogation de tables avec la confidentialité différentielle activée. Pris en charge
Limites de lignes LIMIT, OFFSET Non pris en charge CTEs lors de l'utilisation de tables protégées par la confidentialité différentielle Tous sont pris en charge
Aliasing de tables et de colonnes Pris en charge Pris en charge
Fonctions mathématiques sur les fonctions d'agrégation Pris en charge Pris en charge
Fonctions scalaires au sein de fonctions d'agrégation Pris en charge Pris en charge

Alternatives courantes pour les constructions non prises en charge SQL

Catégorie SQLconstruire Autrement

Fonctions de fenêtrage

  • LISTAGG

  • PERCENTILE_CONT

  • PERCENTILE_DISC

Vous pouvez utiliser la fonction d'agrégation équivalente avec GROUP BY.
Symboles d’opérateurs mathématiques
  • $column ||/ 2

  • $column |/ 2

  • $column ^ 2

  • CBRT

  • SQRT

  • POWER($column, 2)

Fonctions scalaires
  • SYSDATE

  • $column : :entier

  • convertir (type, $column)

  • CURRENT_DATE

  • CAST$column sous forme d'entier

  • CASTType $column AS

Littéraux INTERVAL« 1 » SECOND INTERVAL« 1 » SECOND
Limitation des lignes TOPn LIMITn
Joindre
  • USING

  • NATURAL

La clause ON doit contenir explicitement un critère de jointure.