

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# SQL-Fähigkeiten von AWS Clean Rooms Differenzierter Datenschutz
<a name="dp-sql-capabilities"></a>

AWS Clean Rooms Differential Privacy verwendet eine allgemeine Abfragestruktur zur Unterstützung komplexer SQL-Abfragen. Benutzerdefinierte Analysevorlagen werden anhand dieser Struktur validiert, um sicherzustellen, dass sie auf Tabellen ausgeführt werden können, die durch Differential Privacy geschützt sind. Die folgende Tabelle zeigt, welche Funktionen unterstützt werden. Weitere Informationen finden Sie unter [Struktur und Syntax der Abfrage](custom-diff-privacy.md#dp-query-structure-syntax).


| Kategorie | Von der Spark-Analytics-Engine unterstützte SQL-Konstrukte | Allgemeine Tabellenausdrücke (CTEs) | Letzte SELECT-Klausel | 
| --- |--- |--- |--- |
| Aggregationsfunktionen |  +  Funktion ANY\_VALUE <br />+  Die Funktion APPROXIMATE PERCENTILE\_DISC <br />+  Die Funktion AVG <br />+  Die Funktionen COUNT und COUNT DISTINCT <br />+  Die Funktion MAX <br />+  Die Funktion MEDIAN <br />+  Die Funktion MIN <br />+  Die Funktion PERCENTILE\_CONT <br />+  Die Funktionen STDDEV\_SAMP und STDDEV\_POP <br />+  Funktionen SUM und SUM DISTINCT <br />+  Die Funktionen VAR\_SAMP und VAR\_POP   | Wird unter der Bedingung unterstützt, dass CTEs, die differenziell datenschutzgeschützte Tabellen verwenden, zu Daten mit Datensätzen auf Benutzerebene führen müssen. Sie sollten den SELECT-Ausdruck in diesen CTEs unter Verwendung des Formats schreiben. `SELECT userIdentifierColumn...' | Unterstützte Aggregationen: AVG, COUNT, COUNT DISTINCT, STDDEV und SUM. | 
| CTEs | WITH-Klausel, WITH-Klausel-Unterabfrage | Wird unter der Bedingung unterstützt, dass CTEs, die differenziell datenschutzgeschützte Tabellen verwenden, zu Daten mit Datensätzen auf Benutzerebene führen müssen. Sie sollten den SELECT-Ausdruck in diesen CTEs unter Verwendung des Formats schreiben. `SELECT userIdentifierColumn...' | N/A | 
| Unterabfragen |  +  SELECT <br />+  HAVING <br />+  JOIN <br />+  JOIN-Bedingung <br />+  FROM <br />+  WHERE   | In diesen Konstrukten können Sie jede Unterabfrage verwenden, die nicht auf unterschiedliche Datenschutzbeziehungen verweist. Sie können jede Unterabfrage verwenden, die auf unterschiedliche Datenschutzbeziehungen verweist, nur in einer FROM- und JOIN-Klausel. | 
| JOIN-Klauseln |  +  INNER JOIN <br />+  LEFT JOIN <br />+  LINKS HALB VERBINDEN <br />+  LINKS GEGEN JOIN <br />+  RIGHT JOIN <br />+  VOLLSTÄNDIGER BEITRITT <br />+  [BEITRETEN] ODER Operator <br />+  CROSS JOIN   | Wird unter der Bedingung unterstützt, dass nur JOIN-Funktionen unterstützt werden, bei denen es sich um Gleichverknüpfungen für Benutzer-ID-Spalten handelt. Diese sind erforderlich, wenn zwei oder mehr Tabellen mit aktiviertem Differential Privacy abgefragt werden. Stellen Sie sicher, dass die obligatorischen Equi-Join-Bedingungen korrekt sind. Vergewissern Sie sich, dass der Tabellenbesitzer in allen Tabellen dieselbe Benutzer-ID-Spalte konfiguriert hat, sodass die Definition eines Benutzers tabellenübergreifend konsistent bleibt.<br />CROSS JOIN-Funktionen werden nicht unterstützt, wenn zwei oder mehr Beziehungen mit aktiviertem Differential Privacy kombiniert werden. | 
| Satzoperatoren | UNION, UNION ALL, INTERSECT, EXCEPT \| MINUS (das sind Synonyme) | UNION, UNION ALL, INTERSECT, EXCEPT \| MINUS (das sind Synonyme) | Nicht unterstützt | 
| Fensterfunktionen | Aggregationsfunktionen+  Die Fensterfunktion AVG <br />+  Die Fensterfunktion COUNT <br />+  CUME\_DIST-Fensterfunktion <br />+  Die Fensterfunktion DENSE\_RANK <br />+  Die Fensterfunktion FIRST\_VALUE <br />+  Die Fensterfunktion LAG <br />+  Die Fensterfunktion LAST\_VALUE <br />+  Die Fensterfunktion LEAD <br />+  MAX-Fensterfunktionen <br />+  Funktionen des MEDIAN-Fensters <br />+  Funktionen im MIN-Fenster <br />+  Die Fensterfunktion NTH\_VALUE <br />+  Fensterfunktionen STDDEV\_SAMP und STDDEV\_POP (STDDEV\_SAMP und STDDEV sind Synonyme) <br />+  SUM-Fensterfunktionen <br />+  Fensterfunktionen VAR\_SAMP und VAR\_POP (VAR\_SAMP und VARIANCE sind Synonyme) <br />Rangfestlegungsfunktionen+  Die Fensterfunktion DENSE\_RANK <br />+  Die Fensterfunktion NTILE <br />+  Die Fensterfunktion PERCENT\_RANK <br />+  Die Fensterfunktion RANK <br />+  Die Fensterfunktion ROW\_NUMBER  | Alle werden unter der Bedingung unterstützt, dass die Benutzer-ID-Spalte in der Partitionsklausel der Fensterfunktion erforderlich ist, wenn Sie eine Beziehung mit aktiviertem Differential Privacy abfragen. | Nicht unterstützt | 
| Bedingte Ausdrücke |  +  CASE-Bedingungsausdruck <br />+  COALESCE-Ausdruck <br />+  Funktionen GREATEST und LEAST <br />+  NVL- und COALESCE-Funktionen <br />+  Funktion NVL2 <br />+  NULLIF-Funktion   | Alle werden unterstützt | Alle werden unterstützt | 
| Bedingungen |  +  Vergleichsbedingung <br />+  Logische Bedingungen <br />+  Pattern-matching Bedingungen <br />+  Bedingungen zwischen den Reichweiten <br />+  „Null“-Bedingung   | EXISTSund IN können nicht verwendet werden, da sie Unterabfragen erfordern. Alle anderen werden unterstützt. | Alle werden unterstützt | 
| Date-time Funktionen |  +  Datums- und Zeitfunktionen in Transaktionen <br />+  Verkettungsoperator <br />+  ADD\_MONTHS-Funktionen <br />+  Funktion CONVERT\_TIMEZONE <br />+  Funktion CURRENT\_DATE <br />+  Funktion DATEADD <br />+  Funktion DATEDIFF <br />+  DATE\_PART-Funktionen <br />+  Funktion DATE\_TRUNC <br />+  Funktion EXTRACT <br />+  Funktion TO\_TIMESTAMP <br />+  Datumsteile für Datums- oder Zeitstempelfunktionen   | Alle werden unterstützt | Alle werden unterstützt | 
| Zeichenfolgenfunktionen |  +  \|\| (Verkettungs-) Operator <br />+  Die Funktion BTRIM <br />+  Die Funktion CHAR\_LENGTH <br />+  Die Funktion CHARACTER\_LENGTH <br />+  Funktion CONCAT <br />+  Die Funktionen LEFT und RIGHT <br />+  Die Funktion LEN <br />+  Die Funktion LENGTH <br />+  Die Funktion LOWER <br />+  Die Funktionen LPAD und RPAD <br />+  Die Funktion LTRIM <br />+  POSITION-Funktionen <br />+  Die Funktion REGEXP\_COUNT <br />+  Die Funktion REGEXP\_INSTR <br />+  Die Funktion REGEXP\_REPLACE <br />+  Die Funktion REGEXP\_SUBSTR <br />+  Die Funktion REPEAT <br />+  Die Funktion REPLACE <br />+  Die Funktion REVERSE <br />+  Die Funktion RTRIM <br />+  Die Funktion SPLIT\_PART <br />+  Die Funktion SUBSTRING <br />+  Die Funktion TRANSLATE <br />+  TRIM-Funktionen <br />+  Die Funktion UPPER   | Alle werden unterstützt | Alle werden unterstützt | 
| Funktionen für die Datentypformatierung |  +  CAST-Funktion <br />+  TO\_CHAR <br />+  TO\_DATE-Funktion <br />+  TO\_NUMBER <br />+  Datum-/Uhrzeit-Formatzeichenfolgen <br />+  Numerische Formatzeichenfolgen   | Alle werden unterstützt | Alle werden unterstützt | 
| Hash-Funktionen |  +  AES\_ENCRYPT <br />+  AES\_ENTSCHLÜSSELN <br />+  ENCODE <br />+  DECODE <br />+  Die Funktion MD5 <br />+  Die Funktion SHA1 <br />+  Die Funktion SHA2 <br />+  XX\_HASH64   | Alle werden unterstützt | Alle werden unterstützt | 
| Symbole für mathematische Operatoren | \+, -, \*,/,% und @ | Alle werden unterstützt | Alle werden unterstützt | 
| Mathematische Funktionen |  +  Funktion ABS <br />+  Die Funktion ACOS <br />+  Die Funktion ASIN <br />+  Die Funktion ATAN <br />+  Die Funktion ATAN2 <br />+  Die Funktion CBRT <br />+  Die Funktion CEILING (oder CEIL) <br />+  Die Funktion COS <br />+  Die Funktion COT <br />+  Die Funktion DEGREES <br />+  Die Funktion LTRIM <br />+  Die Funktion EXP <br />+  Die Funktion FLOOR <br />+  Die Funktion LN <br />+  Die Funktion LOG <br />+  Die Funktion MOD <br />+  Die Funktion PI <br />+  Die Funktion POWER <br />+  Die Funktion RADIANS <br />+  Die Funktion RANDOM <br />+  Die Funktion ROUND <br />+  Die Funktion SIGN <br />+  Die Funktion SIN <br />+  SQRT-Funktionen <br />+  Die Funktion TRUNC   | Alle werden unterstützt | Alle werden unterstützt | 
| VARBYTE-Funktionen |  +  UNHEX, <br />+  UNBASE64 <br />+  SECHSKANT <br />+   HLL\_SKETCH\_AGG, <br />+   HLL\_SKETCH\_ESTIMATE <br />+  HLL\_UNION <br />+  HLL\_UNION\_AGG   | Alle werden unterstützt | Alle werden unterstützt | 
| JSON |  +  TO\_JSON <br />+  GET\_JSON\_OBJECT   | Alle werden unterstützt | Alle werden unterstützt | 
| Array-Funktionen |  +  ARRAY\_CONTAINS <br />+  ARRAY\_DISTINCT <br />+  ARRAY\_EXCEPT <br />+  ARRAY\_INTERSECT <br />+  ARRAY\_JOIN <br />+  ARRAY\_ENTFERNEN <br />+  ARRAY\_SORT <br />+  ARRAY\_UNION   | Nicht unterstützt | Nicht unterstützt | 
| Erweiterte GRUPPE VON | GRUPPIERUNGSSÄTZE, ROLLUP, WÜRFEL | Nicht unterstützt | Nicht unterstützt | 
| Vorgang sortieren | ORDER BY | Wird unter der Bedingung unterstützt, dass eine ORDER BY-Klausel nur in der Partitionsklausel einer Fensterfunktion unterstützt wird, wenn Tabellen mit aktiviertem Differential Privacy abgefragt werden. | Unterstützt | 
| Zeilenbegrenzungen | LIMIT, OFFSET | Wird in CTEs, die differenziell datenschutzgeschützte Tabellen verwenden, nicht unterstützt | Alle werden unterstützt | 
| Aliasing von Tabellen und Spalten |   | Unterstützt | Unterstützt | 
| Mathematische Funktionen für Aggregatfunktionen |   | Unterstützt | Unterstützt | 
| Skalarfunktionen innerhalb von Aggregatfunktionen |   | Unterstützt | Unterstützt | 

## Allgemeine Alternativen für nicht unterstützte SQL-Konstrukte
<a name="common-alternatives"></a>


| Kategorie | SQL-Konstrukt | Alternative | 
| --- |--- |--- |
| Fensterfunktionen |  +  LISTAGG <br />+  PERCENTILE\_CONT <br />+  PERCENTILE\_DISC   | Sie können die entsprechende Aggregatfunktion mit GROUP BY verwenden. | 
| Symbole für mathematische Operatoren |  +  $column \|\|/ 2 <br />+  $Spalte \|/ 2 <br />+  $Spalte ^ 2   |  +  CBRT <br />+  SQRT <br />+  MACHT ($Spalte, 2)   | 
| Skalarfunktionen |  +  SYSDATE <br />+  $column: :Ganzzahl <br />+  konvertieren (Typ, $Spalte)   |  +  CURRENT\_DATE <br />+  CAST $column ALS Ganzzahl <br />+  CAST $column ALS Typ   | 
| Literale | INTERVALL '1 SEKUNDE' | INTERVALL '1' SEKUNDE | 
| Zeilenbegrenzung | TOP n | GRENZE n | 
| Join |  +  USING <br />+  NATURAL   | Die ON-Klausel sollte explizit ein Join-Kriterium enthalten. | 