

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# での SQL の概要AWS Clean Rooms
<a name="sql-reference"></a>

AWS Clean Rooms SQL リファレンスへようこそ。**

AWS Clean Roomsは、業界標準の構造化クエリ言語 (SQL) を中心に構築されています。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、[AWS Clean Rooms「 ユーザーガイド](https://docs.aws.amazon.com/clean-rooms/latest/userguide/what-is.html)」と[AWS Clean Rooms「 API リファレンス](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html)」を参照してください。

# SQL リファレンスの規則
<a name="sql-ref-conventions"></a>

このセクションでは、SQL の式、コマンド、および関数の構文を記述する際に使用される規則について説明します。


| 文字 | 説明 | 
| --- | --- | 
| CAPS | 大文字の単語はキーワードです。 | 
| [ ]  | 角括弧はオプションの引数を示します。角括弧に複数の引数が含まれる場合は、任意の個数の引数を選択できることを示します。さらに、複数の行に角括弧で囲まれた引数がある場合、 パーサーは、それらの引数が構文の順番どおりに出現するものと想定します。 | 
| \$1 \$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 つのドル記号
    + 文字列の内容を構成する任意の一連の文字
    + ドル記号 (\$1)
    + ドル引用符の先頭と同じタグ
    + ドル記号

      例: `$$invalid$$`
+ 連続するハイフン (-) 文字を含めることはできません。
+ 以下のプレフィックスで始めることはできません。

  `padb_`, `pg_`, `stcs_`, `stl_`, `stll_`, `stv_`, `svcs_`, `svl_`, `svv_`, `sys_`, `systable_`
+ バックスラッシュ文字 (\$1)、引用符 (')、または二重引用符で囲まれていないスペースを含めることはできません。
+ アルファベット以外の文字で始まる場合は、二重引用符 (" ") で囲む必要があります。
+ ハイフン (-) が含まれる場合は、二重引用符 (" ") で囲む必要があります。
+ 1 ～ 127 文字の長さにする必要があります。
+ [予約語](#reserved-words)は二重引用符 (" ") で囲む必要があります。
+ 次の列名は (引用符を使用して AWS Clean Rooms も) 予約できません。
  + oid
  + tableoid
  + 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>

数値型は、正確な整数から近似浮動小数点値まで、さまざまな種類の数値を表します。数値型の選択は、ストレージ要件と計算精度の両方に影響します。整数型はバイトサイズによって異なりますが、10 進数型と浮動小数点型では精度とスケールのオプションが異なります。


| データ型 | 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～32,767 の符号付き整数 | 
| 1 バイト整数 | サポートされません | サポートされません | TINYINT、BYTE | -128～127 の符号付き整数 | 
|  倍精度浮動小数点数 | DOUBLE、DOUBLE PRECISION | FLOAT、FLOAT4, FLOAT8、DOUBLE、DOUBLE PRECISION、REAL | DOUBLE | 8 バイトの倍精度浮動小数点数 | 
| 単一精度浮動小数点数 | REAL、FLOAT | サポートされていません | FLOAT | 4 バイトの単精度浮動小数点数 | 
| 10 進数 (固定精度) | DECIMAL  | DECIMAL、NUMERIC、NUMBER Snowflake は、小幅の正確な数値型 (INT、BIGINT、SMALLINT など) を NUMBER に自動的にエイリアスします。  | DECIMAL、NUMERIC、 | 任意精度符号付き小数 | 
| 10 進数 (精度付き) | DECIMAL (p) | DECIMAL (p)、NUMBER (p) | DECIMAL (p) | 固定精度の 10 進数 | 
| 10 進数 (スケール付き) | DECIMAL(p,s) | DECIMAL (p,s)、NUMBER (p,s) | DECIMAL(p,s) | スケール付きの固定精度の 10 進数 | 

## ブールデータ型
<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  | タイムゾーンのない日付値 (年、月、日) | 
| Time  | TIME  | サポートされません | サポートされません | UTC でのタイムゾーンなしの時刻 | 
| TZ での時間 | TIMETZ  | サポートされません | サポートされません | UTC でのタイムゾーンを含む時刻 | 
| タイムスタンプ  | TIMESTAMP  | TIMESTAMP、TIMESTAMP\$1NTZ | TIMESTAMP\$1NTZ |  Timestamp without time zone 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、STRING | 可変長の文字列 | 
| 長さの可変長文字 | VARCHAR(n) | VARCHAR(n)、STRING(n)、TEXT(n) | VARCHAR(n) | 長さ制限付きの可変長文字列  | 
| バイナリ  | VARBYTE  | BINARY、VARBINARY | BINARY  | バイナリバイトシーケンス | 
| 長さのバイナリ | VARBYTE(n) | サポートされません | サポートされません | 長さ制限付きのバイナリバイトシーケンス | 

## 構造化データ型
<a name="structured-data-types-table"></a>

構造化型を使用すると、複数の値を 1 つのフィールドに結合することで、複雑なデータ整理が可能になります。これには、順序付けられたコレクションの配列、キーと値のペアのマップ、名前付きフィールドを持つカスタムデータ構造を作成するための構造体が含まれます。


| データ型 | 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  | サポートされません | サポートされません | 複合型を含むすべてのデータ型をサポートする柔軟な型 | 