

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 의 SQL 개요AWS Clean Rooms
<a name="sql-reference"></a>

*AWS Clean Rooms SQL 참조*에 오신 것을 환영합니다.

AWS Clean Rooms는 데이터베이스 및 데이터베이스 객체 작업에 사용하는 명령과 함수로 구성된 쿼리 언어인 업계 표준 구조화 쿼리 언어(SQL)를 기반으로 구축되었습니다. SQL은 또한 데이터 형식, 표현식 및 리터럴의 사용에 대한 규칙을 적용하기도 합니다.

다음 주제에서는이 SQL 참조에 사용되는 규칙 및 이름 지정 규칙에 대한 일반적인 정보를 제공합니다.

**Topics**
+ [

# SQL 참조 규칙
](sql-ref-conventions.md)
+ [

# SQL 이름 지정 규칙
](sql-ref-naming.md)
+ [

# SQL 엔진의 데이터 형식 지원
](sql-reference-supported-data-types-dialect.md)

다음 섹션에서는 리터럴, 데이터 유형, SQL 명령, SQL 함수 유형 및 사용할 수 있는 SQL 조건에 대한 정보를 제공합니다AWS Clean Rooms.
+ [AWS Clean Rooms Spark SQL](sql-reference-spark.md)

에 대한 자세한 내용은 [AWS Clean Rooms사용 설명서](https://docs.aws.amazon.com/clean-rooms/latest/userguide/what-is.html) 및 [AWS Clean RoomsAPI 참조](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html)를 AWS Clean Rooms참조하세요.

# SQL 참조 규칙
<a name="sql-ref-conventions"></a>

이 섹션에서는 SQL 표현식, 명령어 및 함수의 구문 작성에 사용되는 규칙에 대해 설명합니다.


| 문자 | 설명 | 
| --- | --- | 
| CAPS | 대문자로 된 단어는 키워드입니다. | 
| [ ]  | 대괄호는 선택적 인수를 나타냅니다. 다수의 인수가 대괄호로 묶이면 인수를 얼마든지 선택할 수 있다는 것을 의미합니다. 또한 별도의 라인에서 대괄호로 묶이는 인수는 구문 분석기에서 인수가 구문에 나열된 순서를 그대로 따른다는 것을 의미합니다. | 
| \$1 \$1  | 중괄호는 중괄호 안의 인수 중 하나를 선택해야 함을 나타냅니다. | 
| \$1 | 파이프는 인수 중에서 하나를 선택할 수 있다는 것을 의미합니다. | 
| 기울임꼴 | 기울임꼴 단어는 자리 표시자를 나타냅니다. 기울임꼴 단어 자리에 적절한 값을 넣어야 합니다. | 
| ... | 줄임표는 앞의 요소를 반복할 수 있음을 나타냅니다. | 
| '  | 작은따옴표로 묶인 단어는 따옴표를 입력해야 함을 나타냅니다. | 

# SQL 이름 지정 규칙
<a name="sql-ref-naming"></a>

다음 섹션에서는 AWS Clean Rooms의 SQL 명명 규칙을 설명합니다.

**Topics**
+ [

## 구성된 테이블 연결 이름 및 열
](#confg-table-and-column-naming-rules)
+ [

## 예약어
](#reserved-words)

## 구성된 테이블 연결 이름 및 열
<a name="confg-table-and-column-naming-rules"></a>

쿼리가 가능한 구성원은 구성된 테이블 연결 이름을 쿼리의 테이블 이름으로 사용합니다. 구성된 테이블 연결 이름과 구성된 테이블 열을 쿼리에서 별칭으로 지정할 수 있습니다.

구성된 테이블 연결 이름, 구성된 테이블 열 이름 및 별칭에는 다음과 같은 이름 지정 규칙이 적용됩니다.
+ 영숫자, 밑줄(\$1) 또는 하이픈(-) 문자만 사용해야 하지만 하이픈으로 시작하거나 끝날 수 없습니다.
  + (*사용자 지정 분석 규칙만 해당*) 달러 기호(\$1)를 사용할 수 있지만 달러 인용 문자열 상수 뒤에 오는 패턴은 사용할 수 없습니다.

    달러 따옴표로 묶인 문자열 상수는 다음과 같이 구성됩니다.
    + 달러 기호(\$1)
    + 0개 이상의 문자로 구성된 선택적 “태그”
    + 또 다른 달러 기호
    + 문자열 내용을 구성하는 임의의 문자 시퀀스
    + 달러 기호(\$1)
    + 달러 인용의 시작과 동일한 태그
    + 달러 기호

      예: `$$invalid$$`
+ 연속된 하이픈(-) 문자는 포함할 수 없습니다.
+ 다음 접두사로 시작할 수 없습니다.

  `padb_`, `pg_`, `stcs_`, `stl_`, `stll_`, `stv_`, `svcs_`, `svl_`, `svv_`, `sys_`, `systable_`
+ 백슬래시 문자(\$1) , 따옴표(') 또는 큰따옴표가 없는 공백은 포함할 수 없습니다.
+ 알파벳이 아닌 문자로 시작하는 경우 큰따옴표(” “) 안에 넣어야 합니다.
+ 하이픈(-) 문자가 포함된 경우 큰따옴표(” “) 안에 넣어야 합니다.
+ 길이는 1\$1127자여야 합니다.
+ [예약어](#reserved-words)는 큰따옴표(” “) 안에 넣어야 합니다.
+ 다음 열 이름은에서 사용할 수 없습니다 AWS Clean Rooms (따옴표 포함).
  + oid
  + 테이블 ID
  + xmin
  + cmin
  + xmax
  + cmax
  + ctid

## 예약어
<a name="reserved-words"></a>

다음은의 예약된 단어 목록입니다 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  | 

# SQL 엔진의 데이터 형식 지원
<a name="sql-reference-supported-data-types-dialect"></a>

AWS Clean Rooms 는 여러 SQL 엔진과 언어를 지원합니다. 이러한 구현 전반의 데이터 유형 시스템을 이해하는 것은 성공적인 데이터 협업 및 분석에 매우 중요합니다. 다음 표에는 AWS Clean Rooms SQL, Snowflake SQL 및 Spark SQL에서 동일한 데이터 형식이 나와 있습니다.

## 숫자 데이터 유형
<a name="numeric-data-types-table"></a>

숫자 유형은 정확한 정수부터 대략적인 부동 소수점 값에 이르기까지 다양한 종류의 숫자를 나타냅니다. 숫자 유형 선택은 스토리지 요구 사항과 계산 정밀도에 모두 영향을 미칩니다. 정수 유형은 바이트 크기에 따라 다르지만 십진수 및 부동 소수점 유형은 정밀도와 스케일 옵션이 다릅니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| 8바이트 정수 | BIGINT | 지원되지 않음 | BIGINT, LONG | -9,223,372,036,854,775,808에서 9,223,372,036,854,775,807까지의 부호 있는 정수입니다. | 
| 4바이트 정수 | INT | 지원되지 않음 | INT, INTEGER | -2,147,483,648에서 2,147,483,647까지의 부호 있는 정수 | 
| 2바이트 정수 | SMALLINT  | 지원되지 않음 | SMALLINT, SHORT | -32,768\$132,767 범위의 부호 있는 정수 | 
| 1바이트 정수 | 지원되지 않음 | 지원되지 않음 | TINYINT, BYTE | -128\$1127 범위의 부호 있는 정수 | 
|  이중 정밀도 부동 소수점 | DOUBLE, DOUBLE PRECISION | FLOAT, FLOAT4, FLOAT8, DOUBLE, DOUBLE 정밀도, REAL | DOUBLE | 8바이트 배정밀도 부동 소수점 숫자 | 
| 단일 정밀도 부동 소수점 | REAL, FLOAT | 지원되지 않음 | FLOAT | 4바이트 단일 정밀도 부동 소수점 숫자 | 
| 십진수(고정 정밀도) | DECIMAL  | 소수, 숫자, 숫자 Snowflake는 더 작은 너비의 정확한 숫자 유형(INT, BIGINT, SMALLINT 등)을 NUMBER로 자동으로 별칭을 지정합니다.  | 소수, 숫자, | 임의 정밀도 부호 있는 십진수 | 
| 십진수(정밀도 포함) | DECIMAL(p) | DECIMAL(p), NUMBER(p) | DECIMAL(p) | 고정밀도 십진수 | 
| 십진수(배율 포함) | DECIMAL (p,s) | DECIMAL(p,s), NUMBER(p,s) | DECIMAL (p,s) | 눈금이 있는 고정밀도 십진수 | 

## 부울 데이터 형식
<a name="boolean-data-types-table"></a>

부울 유형은 단순 true/false 논리 값을 나타냅니다. 이러한 유형은 SQL 엔진에서 일관되며 플래그, 조건 및 논리적 작업에 일반적으로 사용됩니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| 부울  | BOOLEAN  | BOOLEAN  | BOOLEAN  | true/false 값을 나타냅니다. | 

## 날짜 및 시간 데이터 유형
<a name="date-time-data-types-table"></a>

날짜 및 시간 유형은 다양한 수준의 정밀도와 시간대 인식으로 시간 데이터를 처리합니다. 이러한 유형은 날짜, 시간 및 타임스탬프를 저장하는 다양한 형식을 지원하며 시간대 정보를 포함하거나 제외하는 옵션을 제공합니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| Date  | DATE  | DATE  | DATE  | 시간대가 없는 날짜 값(년, 월, 일) | 
| Time  | TIME  | 지원되지 않음 | 지원되지 않음 | 시간대가 없는 UTC 기준 시간대 | 
| TZ 사용 시간 | TIMETZ  | 지원되지 않음 | 지원되지 않음 | 시간대가 있는 UTC 기준 시간대 | 
| 타임스탬프  | TIMESTAMP  | TIMESTAMP, TIMESTAMP\$1NTZ | TIMESTAMP\$1NTZ |  표준 시간대가 없는 타임스탬프 NTZ는 "시간대 없음"을 나타냅니다.  | 
| TZ를 사용하는 타임스탬프 | TIMESTAMPTZ  | TIMESTAMP\$1LTZ | TIMESTAMP, TIMESTAMP\$1LTZ | 현지 시간대가 있는 타임스탬프 LTZ는 "로컬 시간대"를 나타냅니다.  | 

## 문자 데이터 유형
<a name="character-data-types-table"></a>

문자 유형은 고정 길이 및 가변 길이 옵션을 모두 제공하는 텍스트 데이터를 저장합니다. 이러한 유형은 텍스트 문자열과 이진 데이터를 처리하며, 스토리지 할당을 제어하는 선택적 길이 사양을 제공합니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| 고정 길이 문자  | CHAR  | CHAR, CHARACTER | CHAR, CHARACTER | 고정 길이 문자열 | 
| 길이가 인 고정 길이 문자 | CHAR(n) | CHAR(n), CHARACTER(n) | CHAR(n), CHARACTER(n) | 길이가 지정된 고정 길이 문자열 | 
| 가변 길이 문자 | VARCHAR  | VARCHAR, STRING, TEXT | VARCHAR, 문자열 | 가변 길이 문자열 | 
| 길이가 인 가변 길이 문자 | VARCHAR(n) | VARCHAR(n), STRING(n), TEXT(n) | VARCHAR(n) | 길이 제한이 있는 가변 길이 문자열  | 
| 바이너리  | VARBYTE  | BINARY, VARBINARY | BINARY  | 이진 바이트 시퀀스 | 
| 길이가 인 이진수 | VARBYTE(n) | 지원되지 않음 | 지원되지 않음 | 길이 제한이 있는 이진 바이트 시퀀스 | 

## 구조화된 데이터 형식
<a name="structured-data-types-table"></a>

구조화된 유형을 사용하면 여러 값을 단일 필드로 결합하여 복잡한 데이터 구성을 수행할 수 있습니다. 여기에는 정렬된 컬렉션에 대한 배열, 키-값 페어에 대한 맵, 명명된 필드를 사용하여 사용자 지정 데이터 구조를 생성하기 위한 구조가 포함됩니다.


| 데이터 유형 | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | 설명 | 
| --- | --- | --- | --- | --- | 
| 배열  | ARRAY<type> | ARRAY(유형) | ARRAY<type> | 동일한 유형의 정렬된 요소 시퀀스 배열 유형에는 동일한 유형의 요소가 포함되어야 합니다.  | 
| 맵  | MAP<key,value> | MAP(키,값) | MAP<key,value> | 키-값 페어 모음 맵 유형에는 동일한 유형의 요소가 포함되어야 합니다.  | 
| Struct  | STRUCT< field1: type1, field2: type2> |  OBJECT( field1 type1, field2 type2 ) | STRUCT< field1: type1, field2: type2 > | 지정된 유형의 명명된 필드가 있는 구조 구조화된 유형 구문은 구현마다 약간 다를 수 있습니다.  | 
| Super  | SUPER  | 지원되지 않음 | 지원되지 않음 | 복잡한 유형을 포함한 모든 데이터 유형을 지원하는 유연한 유형 | 