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 |
|
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 |
|
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 |
|
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
Fonctions de classement
|
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 |
|
Tous sont pris en charge | Tous sont pris en charge |
Conditions |
|
EXISTS et 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 |
|
Tous sont pris en charge | Tous sont pris en charge |
Fonctions de chaîne |
|
Tous sont pris en charge | Tous sont pris en charge |
Fonctions de formatage des types de données |
|
Tous sont pris en charge | Tous sont pris en charge |
Fonctions de hachage |
|
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 |
|
Tous sont pris en charge | Tous sont pris en charge |
SUPERfonctions d'information de type |
|
Tous sont pris en charge | Tous sont pris en charge |
VARBYTEfonctions |
|
Tous sont pris en charge | Tous sont pris en charge |
JSON |
|
Tous sont pris en charge | Tous sont pris en charge |
Fonctions de tableau |
|
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 |
|
Vous pouvez utiliser la fonction d'agrégation équivalente avec GROUP BY. |
Symboles d’opérateurs mathématiques |
|
|
Fonctions scalaires |
|
|
Littéraux | INTERVAL« 1 » SECOND | INTERVAL« 1 » SECOND |
Limitation des lignes | TOPn | LIMITn |
Joindre |
|
La clause ON doit contenir explicitement un critère de jointure. |