

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.

# Vue d'ensemble de SQL dans AWS Clean Rooms
<a name="sql-reference"></a>

Bienvenue dans la *référence AWS Clean Rooms SQL.*

AWS Clean Roomsrepose sur le langage de requête structuré (SQL) standard du secteur, un langage de requête composé de commandes et de fonctions que vous utilisez pour travailler avec des bases de données et des objets de base de données. SQL applique également des règles concernant l'utilisation des types de données, des expressions et des littéraux.

Les rubriques suivantes fournissent des informations générales sur les conventions et les règles de dénomination utilisées dans cette référence SQL.

**Topics**
+ [

# Conventions du guide de référence SQL
](sql-ref-conventions.md)
+ [

# Règles de dénomination SQL
](sql-ref-naming.md)
+ [

# Prise en charge des types de données par le moteur SQL
](sql-reference-supported-data-types-dialect.md)

Les sections suivantes fournissent des informations sur les littéraux, les types de données, les commandes SQL, les types de fonctions SQL et les conditions SQL que vous pouvez utiliser. AWS Clean Rooms
+ [AWS Clean Rooms SQL Spark](sql-reference-spark.md)

Pour plus d'informationsAWS Clean Rooms, consultez le guide de l'[AWS Clean Roomsutilisateur et le guide](https://docs.aws.amazon.com/clean-rooms/latest/userguide/what-is.html) de [référence des AWS Clean Rooms API](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html).

# Conventions du guide de référence SQL
<a name="sql-ref-conventions"></a>

Cette section explique les conventions utilisées pour écrire la syntaxe des expressions, commandes et fonctions SQL.


| Caractère | Description | 
| --- | --- | 
| CAPS | Les mots en lettres majuscules sont des mots clés. | 
| [ ]  | Les crochets indiquent des arguments facultatifs. Plusieurs arguments entre crochets signifient que vous pouvez choisir n’importe quel nombre d’arguments. En outre, les arguments entre crochets placés sur des lignes séparées indiquent que l'analyseur s'attend à ce que les arguments soient dans l'ordre où ils apparaissent dans la syntaxe. | 
| \$1 \$1  | Les accolades indiquent que vous devez choisir l’un des arguments proposés. | 
| \$1 | Les barres verticales indiquent que vous pouvez choisir entre les arguments. | 
| italique | Les mots en italique correspondent à des espaces réservés. Vous devez insérer la valeur appropriée à la place du mot en italique. | 
| ... | Les trois points de suspension indiquent que vous pouvez répéter l’élément précédent. | 
| '  | Les mots entre apostrophes droites signifient que vous devez taper les apostrophes. | 

# Règles de dénomination SQL
<a name="sql-ref-naming"></a>

Les sections suivantes expliquent les règles de dénomination SQL dans AWS Clean Rooms.

**Topics**
+ [

## Noms et colonnes d'associations de tables configurés
](#confg-table-and-column-naming-rules)
+ [

## Mots réservés
](#reserved-words)

## Noms et colonnes d'associations de tables configurés
<a name="confg-table-and-column-naming-rules"></a>

Les membres autorisés à effectuer des requêtes utilisent les noms d'associations de tables configurés comme noms de table dans les requêtes. Les noms des associations de tables configurées et les colonnes de table configurées peuvent être aliasés dans les requêtes. 

Les règles de dénomination suivantes s'appliquent aux noms d'associations de tables configurés, aux noms de colonnes de table configurés et aux alias : 
+ Ils ne doivent utiliser que des caractères alphanumériques, un trait de soulignement (\$1) ou un trait d'union (-), mais ils ne peuvent pas commencer ou se terminer par un tiret.
  + (*Règle d'analyse personnalisée uniquement*) Ils peuvent utiliser le signe dollar (\$1) mais ne peuvent pas utiliser un modèle qui suit une constante de chaîne entre guillemets en dollars. 

    Une constante de chaîne entre guillemets en dollars se compose des éléments suivants :
    + un signe du dollar (\$1)
    + un « tag » optionnel de zéro caractère ou plus
    + un autre signe du dollar
    + séquence arbitraire de caractères qui constitue le contenu de la chaîne
    + un signe du dollar (\$1)
    + le même tag qui a commencé la cotation du dollar
    + un signe du dollar

      Par exemple : `$$invalid$$`
+ Ils ne peuvent pas contenir de tirets (-) consécutifs.
+ Ils ne peuvent commencer par aucun des préfixes suivants : 

  `padb_`, `pg_`, `stcs_`, `stl_`, `stll_`, `stv_`, `svcs_`, `svl_`, `svv_`, `sys_`, `systable_`
+ Ils ne peuvent pas contenir de barres obliques inversées (\$1), de guillemets (') ou d'espaces qui ne sont pas entre guillemets doubles.
+ S'ils commencent par un caractère non alphabétique, ils doivent être placés entre guillemets (» «).
+ S'ils contiennent un trait d'union (-), ils doivent être entre guillemets (» «).
+ Ils doivent comporter entre 1 et 127 caractères.
+ [Les mots réservés](#reserved-words) doivent être entre guillemets (» «).
+ Les noms de colonnes réservés suivants ne peuvent pas être utilisés AWS Clean Rooms (même entre guillemets) :
  + oid
  + tabloïd
  + xmin
  + cmin
  + xmax
  + cmax
  + ctid

## Mots réservés
<a name="reserved-words"></a>

Voici une liste des mots réservés dans AWS Clean Rooms.


|  |  |  |  | 
| --- |--- |--- |--- |
|  AES128  |  DELTA32KDESC  |  LEADING  |  PRIMARY  | 
|  AES256ALL  |  DISTINCT  |  LEFTLIKE  |  RAW  | 
|  ALLOWOVERWRITEANALYSE  |  DO  |  LIMIT  |  READRATIO  | 
|  ANALYZE  |  DISABLE  |  LOCALTIME  |  RECOVERREFERENCES  | 
|  AND  |  ELSE  |  LOCALTIMESTAMP  |  REJECTLOG  | 
|  ANY  |  EMPTYASNULLENABLE  |  LUN  |  RESORT  | 
|  ARRAY  |  ENCODE  |  LUNS  |  RESPECT  | 
|  AS  |  ENCRYPT   |  LZO  |  RESTORE  | 
|  ASC  |  ENCRYPTIONEND  |  LZOP  |  RIGHTSELECT  | 
|  AUTHORIZATION  |  EXCEPT  |  MINUS  |  SESSION\$1USER  | 
|  AZ64  |  EXPLICITFALSE  |  MOSTLY16  |  SIMILAR  | 
|  BACKUPBETWEEN  |  FOR  |  MOSTLY32  |  SNAPSHOT  | 
|  BINARY  |  FOREIGN  |  MOSTLY8NATURAL  |  SOME  | 
|  BLANKSASNULLBOTH  |  FREEZE  |  NEW  |  SYSDATESYSTEM  | 
|  BYTEDICT  |  FROM  |  NOT  |  TABLE  | 
|  BZIP2CASE  |  FULL  |  NOTNULL  |  TAG  | 
|  CAST  |  GLOBALDICT256  |  NULL  |  TDES  | 
|  CHECK  |  GLOBALDICT64KGRANT  |  NULLSOFF  |  TEXT255  | 
|  COLLATE  |  GROUP  |  OFFLINEOFFSET  |  TEXT32KTHEN  | 
|  COLUMN  |  GZIPHAVING  |  OID  |  TIMESTAMP  | 
|  CONSTRAINT  |  IDENTITY  |  OLD  |  TO  | 
|  CREATE  |  IGNOREILIKE  |  ON  |  TOPTRAILING  | 
|  CREDENTIALSCROSS  |  IN  |  ONLY  |  TRUE   | 
|  CURRENT\$1DATE  |  INITIALLY  |  OPEN  |  TRUNCATECOLUMNSUNION  | 
|  CURRENT\$1TIME  |  INNER  |  OR  |  UNIQUE  | 
|  CURRENT\$1TIMESTAMP  |  INTERSECT  |  ORDER  | UNNEST | 
|  CURRENT\$1USER  |  INTERVAL  |  OUTER  |  USING  | 
|  CURRENT\$1USER\$1IDDEFAULT  |  INTO  |  OVERLAPS  |  VERBOSE  | 
|  DEFERRABLE  |  IS  |  PARALLELPARTITION  |  WALLETWHEN  | 
|  DEFLATE  |  ISNULL  |  PERCENT  |  WHERE  | 
|  DEFRAG  |  JOIN  |  PERMISSIONS  |  WITH  | 
|  DELTA  |  LANGUAGE  |  PIVOTPLACING  |  WITHOUT  | 

# Prise en charge des types de données par le moteur SQL
<a name="sql-reference-supported-data-types-dialect"></a>

AWS Clean Rooms prend en charge plusieurs moteurs et dialectes SQL. Comprendre les systèmes de types de données dans ces implémentations est essentiel pour une collaboration et une analyse de données réussies. Les tableaux suivants présentent les types de données équivalents dans AWS Clean Rooms SQL, Snowflake SQL et Spark SQL. 

## Types de données numériques
<a name="numeric-data-types-table"></a>

Les types numériques représentent différents types de nombres, des nombres entiers précis aux valeurs approximatives à virgule flottante. Le choix du type numérique influe à la fois sur les exigences de stockage et sur la précision des calculs. Les types entiers varient en fonction de la taille des octets, tandis que les types décimaux et à virgule flottante offrent différentes options de précision et d'échelle. 


| Type de données | AWS Clean Rooms SQL | Snowflake SQL | SQL Spark | Description | 
| --- | --- | --- | --- | --- | 
| Entier de 8 octets | BIGINT | Non pris en charge | GROS, LONG | Entiers signés compris entre -9,223,372 036 854 775 808 et 9 223 372 036 854 775 807. | 
| Entier de 4 octets | INT | Non pris en charge | INT, INTEGER | Entiers signés compris entre -2 147 483 648 et 2 147 483 647 | 
| Entier de 2 octets | SMALLINT  | Non pris en charge | SMALL INT, SHORT | Entiers signés compris entre -32 768 et 32 767 | 
| Entier sur 1 octet | Non pris en charge | Non pris en charge | TINYINT, OCTET | Entiers signés compris entre -128 et 127 | 
|  Flotteur à double précision | DOUBLE, DOUBLE PRÉCISION | FLOAT FLOAT4, FLOAT8, DOUBLE, DOUBLE PRÉCISION, RÉEL | DOUBLE | Numéros à virgule flottante à double précision sur 8 octets | 
| Flotteur de précision unique | RÉEL, FLOTTANT | Non pris en charge | FLOAT | Numéros à virgule flottante à précision unique sur 4 octets | 
| Décimal (précision fixe) | DECIMAL  | DÉCIMAL, NUMÉRIQUE, NOMBRE Snowflake aliase automatiquement les types numériques exacts de plus petite largeur (INT, BIGINT, SMALLINT, etc.) en NUMBER.  | DÉCIMAL, NUMÉRIQUE,  | Nombres décimaux signés avec une précision arbitraire | 
| Décimal (avec précision) | DÉCIMAL (p) | DÉCIMAL (p), NOMBRE (p) | DÉCIMAL (p) | Nombres décimaux à précision fixe | 
| Décimal (avec échelle) | DECIMAL(p,s) | DÉCIMAL (p, s), NOMBRE (p, s) | DECIMAL(p,s) | Nombres décimaux à précision fixe avec échelle | 

## Types de données booléennes
<a name="boolean-data-types-table"></a>

Les types booléens représentent des valeurs true/false logiques simples. Ces types sont cohérents dans tous les moteurs SQL et sont couramment utilisés pour les indicateurs, les conditions et les opérations logiques. 


| Type de données | AWS Clean Rooms SQL | Snowflake SQL | SQL Spark | Description | 
| --- | --- | --- | --- | --- | 
| Booléen  | BOOLEAN  | BOOLEAN  | BOOLEAN  | Représente true/false des valeurs  | 

## Types de données de date et d’heure
<a name="date-time-data-types-table"></a>

Les types de date et d'heure traitent des données temporelles, avec différents niveaux de précision et de connaissance du fuseau horaire. Ces types prennent en charge différents formats pour le stockage des dates, des heures et des horodatages, avec des options permettant d'inclure ou d'exclure les informations de fuseau horaire. 


| Type de données | AWS Clean Rooms SQL | Snowflake SQL | SQL Spark | Description | 
| --- | --- | --- | --- | --- | 
| Date  | DATE  | DATE  | DATE  | Valeurs de date (année, mois, jour) sans fuseau horaire | 
| Heure  | TIME  | Non pris en charge | Non pris en charge | Heure du jour en UTC, sans fuseau horaire | 
| Temps passé avec TZ | TIMETZ  | Non pris en charge | Non pris en charge | Heure du jour en UTC, avec fuseau horaire | 
| Horodatage  | TIMESTAMP  | HORODATAGE, TIMESTAMP\$1NTZ | TIMESTAMP\$1NTZ |  Horodatage sans fuseau horaire NTZ indique « Pas de fuseau horaire »  | 
| Horodatage avec TZ | TIMESTAMPTZ  | TIMESTAMP\$1LTZ | HORODATAGE, TIMESTAMP\$1LTZ | Horodatage avec fuseau horaire local LTZ indique le « fuseau horaire local »  | 

## Types de données de caractères
<a name="character-data-types-table"></a>

Les types de caractères stockent des données textuelles, offrant à la fois des options de longueur fixe et de longueur variable. Ces types gèrent les chaînes de texte et les données binaires, avec des spécifications de longueur facultatives pour contrôler l'allocation de stockage. 


| Type de données | AWS Clean Rooms SQL | Snowflake SQL | SQL Spark | Description | 
| --- | --- | --- | --- | --- | 
| Caractère de longueur fixe  | CHAR  | CHAR, CARACTÈRE | CHAR, CARACTÈRE | Chaîne de caractères de longueur fixe | 
| Caractère de longueur fixe avec longueur | CHAR(n) | CARACTÈRE (n), CARACTÈRE (n) | CARACTÈRE (n), CARACTÈRE (n) | Chaîne de caractères de longueur fixe avec une longueur spécifiée | 
| Caractère de longueur variable | VARCHAR  | VARCHAR, CHAÎNE, TEXTE | VARCHAR, CHAÎNE | Chaîne de caractères de longueur variable | 
| Caractère de longueur variable avec longueur | VARCHAR(n) | VARCHAR (n), CHAÎNE (n), TEXTE (n) | VARCHAR(n) | Chaîne de caractères de longueur variable avec limite de longueur  | 
| Binaire  | VARBYTE  | BINARY, VARBINARY | BINAIRE  | Séquence d'octets binaires | 
| Binaire avec longueur | VARBYTE(n) | Non pris en charge | Non pris en charge | Séquence d'octets binaires avec limite de longueur | 

## Types de données structurées
<a name="structured-data-types-table"></a>

Les types structurés permettent une organisation complexe des données en combinant plusieurs valeurs dans des champs uniques. Il s'agit notamment de tableaux pour les collections ordonnées, de cartes pour les paires clé-valeur et de structures pour créer des structures de données personnalisées avec des champs nommés. 


| Type de données | AWS Clean Rooms SQL | Snowflake SQL | SQL Spark | Description | 
| --- | --- | --- | --- | --- | 
| Tableau  | MATRICE <type> | TABLEAU (type) | MATRICE <type> | Séquence ordonnée d'éléments du même type Les types de tableaux doivent contenir des éléments du même type  | 
| Map  | CARTE<key, value> | MAP (clé, valeur) | CARTE<key, value> | Collection de paires clé-valeur Les types de cartes doivent contenir des éléments du même type  | 
| Struct  | STRUCTURE< field1 : type1, field2 : type2> |  OBJET (champ1 type1, champ2 type2) | STRUCTURE< field1 : type1, field2 : type2 > | Structure avec champs nommés de types spécifiés La syntaxe des types structurés peut varier légèrement entre les implémentations  | 
| Super  | SUPER  | Non pris en charge | Non pris en charge | Type flexible supportant tous les types de données, y compris les types complexes | 