

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Visão geral do SQL em AWS Clean Rooms
<a name="sql-reference"></a>

Bem-vindo à *Referência SQL do AWS Clean Rooms.*

AWS Clean Roomsé construído com base na Linguagem de Consulta Estruturada (SQL) padrão do setor, uma linguagem de consulta que consiste em comandos e funções que você usa para trabalhar com bancos de dados e objetos de banco de dados. SQL também impõe regras relativas ao uso de tipos de dados, expressões e literais.

Os tópicos a seguir fornecem informações gerais sobre as convenções e regras de nomenclatura usadas nesta Referência SQL.

**Topics**
+ [

# Convenções de referência do SQL
](sql-ref-conventions.md)
+ [

# Regras de nomeação de SQL
](sql-ref-naming.md)
+ [

# Suporte de tipo de dados pelo mecanismo SQL
](sql-reference-supported-data-types-dialect.md)

As seções a seguir fornecem informações sobre literais, tipos de dados, comandos SQL, tipos de funções SQL e condições SQL nas quais você pode usar. AWS Clean Rooms
+ [AWS Clean Rooms SQL do Spark](sql-reference-spark.md)

Para obter mais informações sobreAWS Clean Rooms, consulte o [Guia AWS Clean Rooms do usuário](https://docs.aws.amazon.com/clean-rooms/latest/userguide/what-is.html) e a [Referência AWS Clean Rooms da API](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html).

# Convenções de referência do SQL
<a name="sql-ref-conventions"></a>

Esta seção explica as convenções usadas para escrever a sintaxe das expressões, comandos e funções SQL.


| Caractere | Descrição | 
| --- | --- | 
| CAPS | Palavras em letras maiúsculas são palavras chave. | 
| [ ]  | Parênteses denotam argumentos opcionais. Vários argumentos em parênteses indicam que você pode escolher qualquer número de argumentos. Além disso, os argumentos entre colchetes em linhas separadas indicam que o analisador do espera que os argumentos estejam na ordem em que estão listados na sintaxe. | 
| \$1 \$1  | As chaves indicam que será necessário escolher um dos argumentos nelas. | 
| \$1 | Barras verticais indicam que você pode escolher entre os argumentos. | 
| itálico | As palavras em itálico indicam os espaços reservados. Você deve inserir o valor apropriado no lugar da palavra em itálico. | 
| ... | Uma elipse indica que você pode repetir o elemento anterior. | 
| '  | Palavras entre aspas simples indicam que você deve digitar as aspas. | 

# Regras de nomeação de SQL
<a name="sql-ref-naming"></a>

As seções a seguir explicam as regras de nomeação de SQL no AWS Clean Rooms.

**Topics**
+ [

## Nomes e colunas de associação de tabelas configurados
](#confg-table-and-column-naming-rules)
+ [

## Palavras reservadas
](#reserved-words)

## Nomes e colunas de associação de tabelas configurados
<a name="confg-table-and-column-naming-rules"></a>

Os membros que podem consultar usam nomes de associação de tabela configurados como nomes de tabela nas consultas. Os nomes de associações de tabelas configurados e as colunas de tabelas configuradas podem ter aliases em consultas. 

As regras de nomenclatura a seguir se aplicam a nomes de associação de tabela configurados, nomes de colunas de tabela configurados e aliases: 
+ Eles devem usar somente caracteres alfanuméricos, sublinhado (\$1) ou hífen (-), mas não podem começar ou terminar com um hífen.
  + (*Somente regra de análise personalizada*) Eles podem usar o cifrão (\$1), mas não podem usar um padrão que siga uma constante de string cotada em dólares. 

    Uma constante de string cotada em dólares consiste em:
    + um cifrão
    + uma “tag” opcional de zero ou mais caracteres
    + outro cifrão
    + sequência arbitrária de caracteres que compõe o conteúdo da string
    + um cifrão
    + a mesma etiqueta que iniciou a cotação do dólar
    + um cifrão

      Por exemplo: `$$invalid$$`
+ Eles não podem conter caracteres consecutivos de hífen (-).
+ Eles não podem começar com nenhum dos seguintes prefixos: 

  `padb_`, `pg_`, `stcs_`, `stl_`, `stll_`, `stv_`, `svcs_`, `svl_`, `svv_`, `sys_`, `systable_`
+ Eles não podem conter caracteres de barra invertida (\$1), aspas (') ou espaços que não estejam entre aspas duplas.
+ Se começarem com um caractere não alfabético, devem estar entre aspas duplas (" ").
+ Se contiverem um caractere de hífen (-), devem estar entre aspas duplas (" ").
+ Eles devem ter entre 1 e 127 caracteres.
+ [Palavras reservadas](#reserved-words) devem estar entre aspas duplas (" ").
+ Os seguintes nomes de colunas são reservados e não podem ser usados em AWS Clean Rooms (mesmo com aspas):
  + oid
  + tableoid
  + xmin
  + cmin
  + xmax
  + cmax
  + ctid

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

A seguir está uma lista de palavras reservadas em 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  | 

# Suporte de tipo de dados pelo mecanismo SQL
<a name="sql-reference-supported-data-types-dialect"></a>

AWS Clean Rooms oferece suporte a vários mecanismos e dialetos SQL. Compreender os sistemas de tipos de dados nessas implementações é crucial para uma colaboração e análise de dados bem-sucedidas. As tabelas a seguir mostram os tipos de dados equivalentes em AWS Clean Rooms SQL, Snowflake SQL e Spark SQL. 

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

Os tipos numéricos representam vários tipos de números, desde números inteiros precisos até valores aproximados de ponto flutuante. A escolha do tipo numérico afeta tanto os requisitos de armazenamento quanto a precisão computacional. Os tipos inteiros variam de acordo com o tamanho do byte, enquanto os tipos decimal e de ponto flutuante oferecem diferentes opções de precisão e escala. 


| Tipo de dados | AWS Clean Rooms SQL | SQL do Snowflake | Spark SQL | Description | 
| --- | --- | --- | --- | --- | 
| Inteiro de 8 bytes | BIGINT | Não compatível | GRANDE, LONGO | Números inteiros assinados de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. | 
| Inteiro de 4 bytes | INT | Não compatível | INT, INTEGER | Números inteiros assinados de -2.147.483.648 a 2.147.483.647 | 
| Inteiro de 2 bytes | SMALLINT  | Não compatível | PEQUENO, CURTO | Números inteiros assinados de -32.768 a 32.767 | 
| Inteiro de 1 byte | Sem compatibilidade | Sem compatibilidade | TINYINT, BYTE | Números inteiros assinados de -128 a 127 | 
|  Flutuador de dupla precisão | DUPLA, DUPLA PRECISÃO | FLUTUA, FLOAT4, FLOAT8, DUPLA, DUPLA PRECISÃO, REAL | DOUBLE | Números de ponto flutuante de precisão dupla de 8 bytes | 
| Flutuador de precisão única | REAL, FLUTUAR | Não compatível | FLOAT | Números de ponto flutuante de precisão única de 4 bytes | 
| Decimal (precisão fixa) | DECIMAL  | DECIMAL, NUMÉRICO, NÚMERO O Snowflake atribui automaticamente o alias de tipos numéricos exatos de menor largura (INT, BIGINT, SMALLINT etc.) para NUMBER.  | DECIMAL, NUMÉRICO,  | Números decimais assinados com precisão arbitrária | 
| Decimal (com precisão) | DECIMAL (p) | DECIMAL (p), NÚMERO (p) | DECIMAL (p) | Números decimais de precisão fixa | 
| Decimal (com escala) | DECIMAL (p,s) | DECIMAL (p, s), NÚMERO (p, s) | DECIMAL (p,s) | Números decimais de precisão fixa com escala | 

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

Os tipos booleanos representam valores true/false lógicos simples. Esses tipos são consistentes em todos os mecanismos SQL e são comumente usados para sinalizadores, condições e operações lógicas. 


| Tipo de dados | AWS Clean Rooms SQL | SQL do Snowflake | Spark SQL | Description | 
| --- | --- | --- | --- | --- | 
| Booleano  | BOOLEAN  | BOOLEAN  | BOOLEAN  | Representa true/false valores  | 

## Tipos de dados de data e hora
<a name="date-time-data-types-table"></a>

Os tipos de data e hora lidam com dados temporais, com níveis variados de precisão e reconhecimento de fuso horário. Esses tipos oferecem suporte a formatos diferentes para armazenar datas, horas e carimbos de data/hora, com opções para incluir ou excluir informações de fuso horário. 


| Tipo de dados | AWS Clean Rooms SQL | SQL do Snowflake | Spark SQL | Description | 
| --- | --- | --- | --- | --- | 
| Data  | DATE  | DATE  | DATE  | Valores de data (ano, mês, dia) sem fuso horário | 
| Hora  | TIME  | Sem compatibilidade | Sem compatibilidade | Hora do dia em UTC, sem fuso horário | 
| Tempo com TZ | TIMETZ  | Sem compatibilidade | Sem compatibilidade | Hora do dia em UTC, com fuso horário | 
| Timestamp  | TIMESTAMP  | TIMESTAMP, TIMESTAMP\$1NTZ | TIMESTAMP\$1NTZ |  Time stamp sem fuso horário NTZ indica “Sem fuso horário”  | 
| Timestamp com TZ | TIMESTAMPTZ  | TIMESTAMP\$1LTZ | TIMESTAMP, TIMESTAMP\$1LTZ | Carimbo de data/hora com fuso horário local LTZ indica “fuso horário local”  | 

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

Os tipos de caracteres armazenam dados textuais, oferecendo opções de tamanho fixo e tamanho variável. Esses tipos lidam com cadeias de texto e dados binários, com especificações de comprimento opcionais para controlar a alocação de armazenamento. 


| Tipo de dados | AWS Clean Rooms SQL | SQL do Snowflake | Spark SQL | Description | 
| --- | --- | --- | --- | --- | 
| Caractere de tamanho fixo  | CHAR  | CHAR, CHARACTER | CHAR, CHARACTER | String de caracteres com comprimento fixo | 
| Caractere de comprimento fixo com comprimento | CHAR(n) | CHAR(n), CHARACTER(n) | CHAR(n), CHARACTER(n) | Cadeia de caracteres de comprimento fixo com comprimento especificado | 
| Caractere de comprimento variável | VARCHAR  | VARCHAR, STRING, TEXTO | VARCHAR, CORDA | String de caracteres de comprimento variável | 
| Caractere de comprimento variável com comprimento | VARCHAR(n) | VARCHAR (n), CADEIA DE CARACTERES (n), TEXTO (n) | VARCHAR(n) | Cadeia de caracteres de comprimento variável com limite de comprimento  | 
| Binário  | VARBYTE  | BINARY, VARBINARY | BINARY  | Sequência binária de bytes | 
| Binário com comprimento | VARBYTE(n) | Sem compatibilidade | Sem compatibilidade | Sequência binária de bytes com limite de comprimento | 

## Tipos de dados estruturados
<a name="structured-data-types-table"></a>

Os tipos estruturados permitem uma organização complexa de dados combinando vários valores em campos únicos. Isso inclui matrizes para coleções ordenadas, mapas para pares de valores-chave e estruturas para criar estruturas de dados personalizadas com campos nomeados. 


| Tipo de dados | AWS Clean Rooms SQL | SQL do Snowflake | Spark SQL | Description | 
| --- | --- | --- | --- | --- | 
| Array  | MATRIZ <type> | MATRIZ (tipo) | MATRIZ <type> | Sequência ordenada de elementos do mesmo tipo Os tipos de matriz devem conter elementos do mesmo tipo  | 
| Mapa  | MAPA<key, value> | MAP (chave, valor) | MAPA<key, value> | Coleção de pares de valores-chave Os tipos de mapa devem conter elementos do mesmo tipo  | 
| Struct  | ESTRUTURA< field1: type1, field2: type2> |  OBJETO (campo1 tipo1, campo2 tipo2) | ESTRUTURA< field1: type1, field2: type2 > | Estrutura com campos nomeados de tipos especificados A sintaxe do tipo estruturado pode variar um pouco entre as implementações  | 
| Super  | SUPER  | Sem compatibilidade | Sem compatibilidade | Tipo flexível que suporta todos os tipos de dados, incluindo tipos complexos | 