

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Descripción general de SQL en AWS Clean Rooms
<a name="sql-reference"></a>

Le damos la bienvenida a *Referencia de SQL en AWS Clean Rooms.*

AWS Clean Roomsse basa en el lenguaje de consulta estructurado (SQL) estándar del sector, un lenguaje de consulta que consta de comandos y funciones que se utilizan para trabajar con bases de datos y objetos de bases de datos. SQL también aplica reglas relativas al uso de tipos de datos, expresiones y literales.

En los temas siguientes se proporciona información general sobre las convenciones y las reglas de nomenclatura utilizadas en esta referencia de SQL.

**Topics**
+ [

# Convenciones de referencia a SQL
](sql-ref-conventions.md)
+ [

# Reglas de nomenclatura de SQL
](sql-ref-naming.md)
+ [

# Soporte de tipos de datos mediante el motor SQL
](sql-reference-supported-data-types-dialect.md)

En las siguientes secciones se proporciona información sobre los literales, los tipos de datos, los comandos SQL, los tipos de funciones SQL y las condiciones SQL en AWS Clean Rooms las que puede utilizar.
+ [AWS Clean Rooms Spark SQL](sql-reference-spark.md)

Para obtener más informaciónAWS Clean Rooms, consulte la [Guía del AWS Clean Rooms usuario](https://docs.aws.amazon.com/clean-rooms/latest/userguide/what-is.html) y la [Referencia de la AWS Clean Rooms API](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html).

# Convenciones de referencia a SQL
<a name="sql-ref-conventions"></a>

En esta sección se explican las convenciones que se utilizan para escribir la sintaxis de las expresiones, los comandos y las funciones SQL.


| Carácter | Descripción | 
| --- | --- | 
| CAPS | Las palabras en mayúscula son palabras clave. | 
| [ ]  | Los corchetes denotan argumentos opcionales. Varios argumentos entre corchetes indican que puede seleccionar cualquier cantidad de argumentos. Además, los argumentos entre corchetes en líneas separadas indican que el analizador de espera que los argumentos estén en el orden que aparecen en la sintaxis. | 
| \$1 \$1  | Las llaves indican que debe seleccionar uno de los argumentos contenidos en las llaves. | 
| \$1 | Las barras verticales indican que puede seleccionar entre los argumentos. | 
| cursiva | Las palabras en cursiva indican marcadores de posición. Debe insertar el valor adecuado en lugar de la palabra en cursiva. | 
| ... | Los puntos suspensivos indican que puede repetir el elemento anterior. | 
| '  | Las palabras entre comillas simples indican que debe escribir las comillas. | 

# Reglas de nomenclatura de SQL
<a name="sql-ref-naming"></a>

En las siguientes secciones se explican las reglas de nomenclatura de SQL de AWS Clean Rooms.

**Topics**
+ [

## Columnas y nombres de asociación de tablas configuradas
](#confg-table-and-column-naming-rules)
+ [

## Palabras reservadas
](#reserved-words)

## Columnas y nombres de asociación de tablas configuradas
<a name="confg-table-and-column-naming-rules"></a>

Los miembros que pueden realizar consultas usan nombres de asociación de tablas configuradas como nombres de tabla en las consultas. Los nombres de asociación de tablas configuradas y las columnas de tablas configuradas pueden designarse por un alias en las consultas. 

Las siguientes reglas de nomenclatura se aplican a los nombres de asociación de tablas configuradas, a los nombres de columnas de tablas configuradas y a los alias: 
+ Deben utilizar únicamente caracteres alfanuméricos, de subrayado (\$1) o de guión (-), pero no pueden empezar ni terminar con un guion.
  + (*Solo para reglas de análisis personalizadas*) Pueden usar el signo de dólar (\$1), pero no pueden usar un patrón que siga una constante de cadena cotizada en dólares. 

    Una constante de cadena citada entre dólares consta de:
    + un símbolo de dólar (\$1)
    + una "etiqueta" opcional de cero o más caracteres
    + otro símbolo de dólar
    + secuencia arbitraria de caracteres que componen el contenido de la cadena
    + un símbolo de dólar (\$1)
    + la misma etiqueta con la que comenzó la citación entre dólares
    + un símbolo de dólar

      Por ejemplo: `$$invalid$$`
+ No pueden contener guiones (-) consecutivos.
+ No pueden empezar con ninguno de los siguientes prefijos: 

  `padb_`, `pg_`, `stcs_`, `stl_`, `stll_`, `stv_`, `svcs_`, `svl_`, `svv_`, `sys_`, `systable_`
+ No pueden contener caracteres de barra invertida (\$1), comillas (') ni espacios que no estén entre comillas dobles.
+ Si comienzan con un carácter no alfabético, deben estar entre comillas dobles (" ").
+ Si contienen un carácter de guion (-), deben estar entre comillas dobles (" ").
+ Deben tener una longitud de entre 1 y 127 caracteres.
+ Las [palabras reservadas](#reserved-words) deben estar entre comillas dobles (" ").
+ Los siguientes nombres de columna están reservados y no se pueden usar AWS Clean Rooms (ni siquiera entre comillas):
  + oid
  + tableoid
  + xmin
  + cmin
  + xmax
  + cmax
  + ctid

## Palabras reservadas
<a name="reserved-words"></a>

La siguiente es una lista de palabras reservadas en 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  | 

# Soporte de tipos de datos mediante el motor SQL
<a name="sql-reference-supported-data-types-dialect"></a>

AWS Clean Rooms admite varios motores y dialectos de SQL. Comprender los sistemas de tipos de datos en estas implementaciones es crucial para el éxito de la colaboración y el análisis de los datos. En las siguientes tablas se muestran los tipos de datos equivalentes en AWS Clean Rooms SQL, Snowflake SQL y Spark SQL. 

## Tipos de datos numéricos
<a name="numeric-data-types-table"></a>

Los tipos numéricos representan varios tipos de números, desde números enteros precisos hasta valores aproximados de punto flotante. La elección del tipo numérico afecta tanto a los requisitos de almacenamiento como a la precisión computacional. Los tipos de enteros varían según el tamaño del byte, mientras que los tipos decimales y de punto flotante ofrecen diferentes opciones de precisión y escala. 


| Tipo de datos: | AWS Clean Rooms SQL | SQL Snowflake | Spark SQL | Description (Descripción) | 
| --- | --- | --- | --- | --- | 
| Entero de 8 bytes | BIGINT | No compatible | BIGINT, LARGO | Enteros firmados comprendidos entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807. | 
| Entero de 4 bytes | INT | No compatible | INT, INTEGER | Enteros con signo de -2.147.483.648 a 2.147.483.647 | 
| Entero de 2 bytes | SMALLINT  | No compatible | SMALLINT, CORTO | Números enteros firmados de -32.768 a 32.767 | 
| Entero de 1 byte | No admitido | No admitido | TINYINT, BYTE | Enteros con signo del -128 al 127 | 
|  Flotador de doble precisión | DOBLE, DOBLE PRECISIÓN | FLOTANTE FLOAT4 FLOAT8, DOBLE, DOBLE PRECISIÓN, REAL | DOUBLE | Números de coma flotante de doble precisión de 8 bytes | 
| Flotador de precisión única | REAL, FLOTANTE | No compatible | FLOAT | números de coma flotante de precisión única de 4 bytes | 
| Decimal (precisión fija) | DECIMAL  | DECIMAL, NUMÉRICO, NÚMERO Snowflake asigna automáticamente el alias NUMBER a los tipos numéricos exactos de menor ancho (INT, BIGINT, SMALLINT, etc.).  | DECIMAL, NUMÉRICO,  | Números decimales con signo de precisión arbitraria | 
| Decimal (con precisión) | DECIMAL (p) | DECIMAL (p), NÚMERO (p) | DECIMAL (p) | Números decimales de precisión fija | 
| Decimal (con escala) | DECIMAL(p,s) | DECIMAL (p, s), NÚMERO (p, s) | DECIMAL(p,s) | Números decimales de precisión fija con escala | 

## Tipos de datos booleanos
<a name="boolean-data-types-table"></a>

Los tipos booleanos representan valores lógicos simples. true/false Estos tipos son coherentes en todos los motores de SQL y se suelen utilizar para indicadores, condiciones y operaciones lógicas. 


| Tipo de datos: | AWS Clean Rooms SQL | SQL Snowflake | Spark SQL | Description (Descripción) | 
| --- | --- | --- | --- | --- | 
| Booleano  | BOOLEAN  | BOOLEAN  | BOOLEANO  | Representa valores true/false  | 

## Tipos de datos de fecha y hora
<a name="date-time-data-types-table"></a>

Los tipos de fecha y hora gestionan datos temporales, con distintos niveles de precisión y reconocimiento de la zona horaria. Estos tipos admiten diferentes formatos para almacenar fechas, horas y marcas horarias, con opciones para incluir o excluir información sobre la zona horaria. 


| Tipo de datos: | AWS Clean Rooms SQL | SQL Snowflake | Spark SQL | Description (Descripción) | 
| --- | --- | --- | --- | --- | 
| Fecha  | DATE  | DATE  | DATE  | Valores de fecha (año, mes, día) sin zona horaria | 
| Time  | TIME  | No admitido | No admitido | Hora del día en UTC, sin zona horaria | 
| Hora con TZ | TIMETZ  | No admitido | No admitido | Hora del día en UTC, con zona horaria | 
| Timestamp  | TIMESTAMP  | TIMESTAMP, TIMESTAMP\$1NTZ | TIMESTAMP\$1NTZ |  TIMESTAMP sin zona horaria NTZ indica «Sin zona horaria»  | 
| Marca de tiempo con TZ | TIMESTAMPTZ  | TIMESTAMP\$1LTZ | TIMESTAMP, TIMESTAMP\$1LTZ | Marca de tiempo con zona horaria local LTZ indica «zona horaria local»  | 

## Tipos de datos de caracteres
<a name="character-data-types-table"></a>

Los tipos de caracteres almacenan datos textuales y ofrecen opciones de longitud fija y longitud variable. Estos tipos manejan cadenas de texto y datos binarios, con especificaciones de longitud opcionales para controlar la asignación del almacenamiento. 


| Tipo de datos: | AWS Clean Rooms SQL | SQL Snowflake | Spark SQL | Description (Descripción) | 
| --- | --- | --- | --- | --- | 
| Carácter de longitud fija  | CHAR  | CHAR, CHARACTER | CHAR, CHARACTER | Cadena de caracteres de longitud fija | 
| Carácter de longitud fija con longitud | CHAR(n) | CHAR(n), CHARACTER(n) | CHAR(n), CHARACTER(n) | Cadena de caracteres de longitud fija con una longitud especificada | 
| Carácter de longitud variable | VARCHAR  | VARCHAR, CADENA, TEXTO | VARCHAR, CADENA | Cadena de caracteres de longitud variable | 
| Carácter de longitud variable con longitud | VARCHAR(n) | VARCHAR (n), STRING (n), TEXT (n) | VARCHAR(n) | Cadena de caracteres de longitud variable con límite de longitud  | 
| Binario  | VARBYTE  | BINARY, VARBINARY | BINARIO  | Secuencia de bytes binarios | 
| Binario con longitud | VARBYTE(n) | No admitido | No admitido | Secuencia binaria de bytes con límite de longitud | 

## Tipos de datos estructurados
<a name="structured-data-types-table"></a>

Los tipos estructurados permiten una organización de datos compleja al combinar varios valores en campos únicos. Estos incluyen matrices para recopilaciones ordenadas, mapas para pares clave-valor y estructuras para crear estructuras de datos personalizadas con campos con nombres. 


| Tipo de datos: | AWS Clean Rooms SQL | SQL Snowflake | Spark SQL | Description (Descripción) | 
| --- | --- | --- | --- | --- | 
| Matriz  | MATRIZ <type> | ARRAY (tipo) | MATRIZ <type> | Secuencia ordenada de elementos del mismo tipo Los tipos de matriz deben contener elementos del mismo tipo  | 
| Asignación  | MAPA<key, value> | MAP (clave, valor) | MAPA<key, value> | Colección de pares clave-valor Los tipos de mapas deben contener elementos del mismo tipo  | 
| Struct  | ESTRUCTURA< field1: type1, field2: type2> |  OBJETO (campo1 tipo1, campo2 tipo2) | ESTRUCTURA< field1: type1, field2: type2 > | Estructura con campos con nombre de tipos específicos La sintaxis de los tipos estructurados puede variar ligeramente de una implementación a otra  | 
| Super  | SUPER  | No admitido | No admitido | Tipo flexible que admite todos los tipos de datos, incluidos los tipos complejos | 