

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Ikhtisar SQL di AWS Clean Rooms
<a name="sql-reference"></a>

Selamat datang di *Referensi AWS Clean Rooms SQL*.

AWS Clean Roomsdibangun di sekitar standar industri Structured Query Language (SQL), bahasa query yang terdiri dari perintah dan fungsi yang Anda gunakan untuk bekerja dengan database dan objek database. SQL juga memberlakukan aturan mengenai penggunaan tipe data, ekspresi, dan literal.

Topik berikut memberikan informasi umum tentang konvensi dan aturan penamaan yang digunakan dalam Referensi SQL ini.

**Topics**
+ [Konvensi referensi SQL](sql-ref-conventions.md)
+ [Aturan penamaan SQL](sql-ref-naming.md)
+ [Dukungan tipe data oleh mesin SQL](sql-reference-supported-data-types-dialect.md)

Bagian berikut memberikan informasi tentang literal, tipe data, perintah SQL, jenis fungsi SQL, dan kondisi SQL yang dapat Anda gunakan. AWS Clean Rooms
+ [AWS Clean Rooms Spark SQL](sql-reference-spark.md)

Untuk informasi selengkapnyaAWS Clean Rooms, lihat [Panduan AWS Clean Rooms Pengguna](https://docs.aws.amazon.com/clean-rooms/latest/userguide/what-is.html) dan [Referensi AWS Clean Rooms API](https://docs.aws.amazon.com/clean-rooms/latest/apireference/Welcome.html).

# Konvensi referensi SQL
<a name="sql-ref-conventions"></a>

Bagian ini menjelaskan konvensi yang digunakan untuk menulis sintaks untuk ekspresi, perintah, dan fungsi SQL.


| Karakter | Deskripsi | 
| --- | --- | 
| PENUTUP | Kata-kata dalam huruf kapital adalah kata kunci. | 
| [ ]  | Tanda kurung menunjukkan argumen opsional. Beberapa argumen dalam tanda kurung menunjukkan bahwa Anda dapat memilih sejumlah argumen. Selain itu, argumen dalam tanda kurung pada baris terpisah menunjukkan bahwa parser mengharapkan argumen berada dalam urutan yang tercantum dalam sintaks. | 
| \$1 \$1  | Tanda kurung menunjukkan bahwa Anda diminta untuk memilih salah satu penjelasan di dalam kurung kurawal. | 
| \$1 | Pipa menunjukkan bahwa Anda dapat memilih di antara argumen. | 
| huruf miring | Kata-kata yang dicetak miring menunjukkan placeholder. Anda harus memasukkan nilai yang sesuai di tempat kata yang dicetak miring. | 
| ... | Elipsis menunjukkan bahwa Anda dapat mengulangi elemen sebelumnya. | 
| '  | Kata-kata dalam tanda kutip tunggal menunjukkan bahwa Anda harus mengetik tanda kutip. | 

# Aturan penamaan SQL
<a name="sql-ref-naming"></a>

Bagian berikut menjelaskan aturan penamaan SQL di AWS Clean Rooms.

**Topics**
+ [Nama dan kolom asosiasi tabel yang dikonfigurasi](#confg-table-and-column-naming-rules)
+ [Kata yang dicadangkan](#reserved-words)

## Nama dan kolom asosiasi tabel yang dikonfigurasi
<a name="confg-table-and-column-naming-rules"></a>

Anggota yang dapat melakukan kueri menggunakan nama asosiasi tabel yang dikonfigurasi sebagai nama tabel dalam kueri. Nama asosiasi tabel yang dikonfigurasi dan kolom tabel yang dikonfigurasi dapat dialias dalam kueri. 

Aturan penamaan berikut berlaku untuk nama asosiasi tabel yang dikonfigurasi, nama kolom tabel yang dikonfigurasi, dan alias: 
+ Mereka harus menggunakan karakter alfanumerik, garis bawah (\$1), atau tanda hubung (-) tetapi tidak dapat memulai atau mengakhiri dengan tanda hubung.
  + (*Hanya aturan analisis khusus*) Mereka dapat menggunakan tanda dolar (\$1) tetapi tidak dapat menggunakan pola yang mengikuti konstanta string yang dikutip dolar. 

    Konstanta string yang dikutip dolar terdiri dari:
    + tanda dolar (\$1)
    + “tag” opsional dari nol atau lebih karakter
    + tanda dolar lainnya
    + urutan karakter sewenang-wenang yang membentuk konten string
    + tanda dolar (\$1)
    + tag yang sama yang memulai kutipan dolar
    + tanda dolar

      Misalnya: `$$invalid$$`
+ Mereka tidak dapat berisi karakter tanda hubung (-) berturut-turut.
+ Mereka tidak dapat memulai dengan salah satu awalan berikut: 

  `padb_`, `pg_`, `stcs_`, `stl_`, `stll_`, `stv_`, `svcs_`, `svl_`, `svv_`, `sys_`, `systable_`
+ Mereka tidak dapat berisi karakter garis miring terbalik (\$1), tanda kutip ('), atau spasi yang tidak dikutip ganda.
+ Jika mereka mulai dengan karakter non-abjad, mereka harus berada dalam tanda kutip ganda (” “).
+ Jika mengandung karakter tanda hubung (-), mereka harus berada dalam tanda kutip ganda (” “).
+ Panjangnya harus antara 1 dan 127 karakter.
+ [Kata-kata yang dicadangkan](#reserved-words) harus dalam tanda kutip ganda (“”).
+ Nama kolom berikut dicadangkan tidak dapat digunakan di AWS Clean Rooms (bahkan dengan tanda kutip):
  + oid
  + tableoid
  + xmin
  + cmin
  + xmax
  + cmax
  + ctid

## Kata yang dicadangkan
<a name="reserved-words"></a>

Berikut ini adalah daftar kata-kata yang dicadangkan di 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  | 

# Dukungan tipe data oleh mesin SQL
<a name="sql-reference-supported-data-types-dialect"></a>

AWS Clean Rooms mendukung beberapa mesin SQL dan dialek. Memahami sistem tipe data di seluruh implementasi ini sangat penting untuk kolaborasi dan analisis data yang sukses. Tabel berikut menunjukkan tipe data yang setara di AWS Clean Rooms SQL, Snowflake SQL, dan Spark SQL. 

## Jenis data numerik
<a name="numeric-data-types-table"></a>

Tipe numerik mewakili berbagai jenis angka, dari bilangan bulat yang tepat hingga perkiraan nilai floating-point. Pilihan tipe numerik mempengaruhi persyaratan penyimpanan dan presisi komputasi. Jenis integer bervariasi menurut ukuran byte, sedangkan tipe desimal dan floating-point menawarkan opsi presisi dan skala yang berbeda. 


| Jenis data | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | Deskripsi | 
| --- | --- | --- | --- | --- | 
| Bilangan bulat 8-byte | BIGINT | Tidak didukung | BIGINT, PANJANG | Bilangan bulat yang ditandatangani dari -9.223.372.036.854.775.808 menjadi 9.223.372.036,854.775.807. | 
| Bilangan bulat 4-byte | INT | Tidak didukung | INT, BILANGAN BULAT | Bilangan bulat yang ditandatangani dari -2.147.483.648 menjadi 2.147.483.647 | 
| Bilangan bulat 2-byte | SMALLINT  | Tidak didukung | SMALLINT, PENDEK | Bilangan bulat yang ditandatangani dari -32.768 hingga 32.767 | 
| Bilangan bulat 1 byte | Tidak didukung | Tidak didukung | TINYINT, BYTE | Bilangan bulat yang ditandatangani dari -128 hingga 127 | 
|  Pelampung Presisi Ganda | GANDA, PRESISI GANDA | MENGAPUNG,, FLOAT4 FLOAT8, GANDA, PRESISI GANDA, NYATA | DOUBLE | Nomor titik mengambang presisi ganda 8-byte | 
| Pelampung Presisi Tunggal | NYATA, MENGAPUNG | Tidak didukung | FLOAT | Nomor titik mengambang presisi tunggal 4-byte | 
| Desimal (presisi tetap) | DECIMAL  | DESIMAL, NUMERIK, ANGKA Snowflake secara otomatis mengalias tipe numerik persis dengan lebar yang lebih kecil (INT, BIGINT, SMALLINT, dll.) ke NUMBER.  | DESIMAL, NUMERIK,  | Nomor desimal yang ditandatangani dengan presisi arbitrer | 
| Desimal (dengan presisi) | DESIMAL (p) | DESIMAL (p), ANGKA (p) | DESIMAL (p) | Angka desimal presisi tetap | 
| Desimal (dengan skala) | DECIMAL(p,s) | DESIMAL (p, s), BILANGAN (p, s) | DECIMAL(p,s) | Angka desimal presisi tetap dengan skala | 

## Tipe data Boolean
<a name="boolean-data-types-table"></a>

Jenis Boolean mewakili nilai true/false logis sederhana. Jenis ini konsisten di seluruh mesin SQL dan biasanya digunakan untuk flag, kondisi, dan operasi logis. 


| Jenis data | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | Deskripsi | 
| --- | --- | --- | --- | --- | 
| Boolean  | BOOLEAN  | BOOLEAN  | BOOLEAN  | Merupakan true/false nilai  | 

## Jenis data tanggal dan waktu
<a name="date-time-data-types-table"></a>

Jenis tanggal dan waktu menangani data temporal, dengan berbagai tingkat presisi dan kesadaran zona waktu. Jenis ini mendukung format yang berbeda untuk menyimpan tanggal, waktu, dan stempel waktu, dengan opsi untuk memasukkan atau mengecualikan informasi zona waktu. 


| Jenis data | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | Deskripsi | 
| --- | --- | --- | --- | --- | 
| Date  | DATE  | DATE  | DATE  | Nilai tanggal (tahun, bulan, hari) tanpa zona waktu | 
| Waktu  | TIME  | Tidak didukung | Tidak didukung | Waktu hari di UTC, tanpa zona waktu | 
| Waktu dengan TZ | JADWAL  | Tidak didukung | Tidak didukung | Waktu hari di UTC, dengan zona waktu | 
| Stempel waktu  | TIMESTAMP  | STEMPEL WAKTU, STEMPEL WAKTU | TIMESTAMP\$1NTZ |  Stempel waktu tanpa zona waktu NTZ menunjukkan “Tidak Ada Zona Waktu”  | 
| Stempel waktu dengan TZ | TIMESTAMPTZ  | STAMP\$1LTZ | STEMPEL WAKTU, STEMPEL WAKTU | Stempel waktu dengan zona waktu lokal LTZ menunjukkan “Zona Waktu Lokal”  | 

## Tipe data karakter
<a name="character-data-types-table"></a>

Jenis karakter menyimpan data tekstual, menawarkan opsi panjang tetap dan panjang variabel. Jenis ini menangani string teks dan data biner, dengan spesifikasi panjang opsional untuk mengontrol alokasi penyimpanan. 


| Jenis data | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | Deskripsi | 
| --- | --- | --- | --- | --- | 
| Karakter panjang tetap  | CHAR  | CHAR, KARAKTER | CHAR, KARAKTER | String karakter dengan panjang tetap | 
| Karakter panjang tetap dengan Panjang | CHAR(n) | CHAR (n), KARAKTER (n) | CHAR (n), KARAKTER (n) | String karakter dengan panjang tetap dengan panjang tertentu | 
| Karakter panjang variabel | VARCHAR  | VARCHAR, STRING, TEKS | VARCHAR, STRING | String karakter panjang variabel | 
| Karakter panjang variabel dengan Panjang | VARCHAR(n) | VARCHAR (n), STRING (n), TEKS (n) | VARCHAR(n) | String karakter panjang variabel dengan batas panjang  | 
| Biner  | VARBYTE  | BINARY, VARBINARY | BINARY  | Urutan byte biner | 
| Biner dengan Panjang | VARBYTE(n) | Tidak didukung | Tidak didukung | Urutan byte biner dengan batas panjang | 

## Tipe data terstruktur
<a name="structured-data-types-table"></a>

Tipe terstruktur memungkinkan organisasi data yang kompleks dengan menggabungkan beberapa nilai ke dalam bidang tunggal. Ini termasuk array untuk koleksi terurut, peta untuk pasangan kunci-nilai, dan struct untuk membuat struktur data kustom dengan bidang bernama. 


| Jenis data | AWS Clean Rooms SQL | Snowflake SQL | Spark SQL | Deskripsi | 
| --- | --- | --- | --- | --- | 
| Array  | ARRAY <type> | ARRAY (tipe) | ARRAY <type> | Urutan elemen yang diurutkan dari jenis yang sama Jenis array harus berisi elemen dari tipe yang sama  | 
| Peta  | PETA<key, value> | MAP (kunci, nilai) | PETA<key, value> | Koleksi pasangan kunci-nilai Jenis peta harus berisi elemen dari jenis yang sama  | 
| Struct  | STRUCT< field1: type1, field2: type2> |  OBJEK (field1 type1, field2 type2) | STRUCT< field1: type1, field2: type2 > | Struktur dengan bidang bernama dari jenis tertentu Sintaks tipe terstruktur mungkin sedikit berbeda antara implementasi  | 
| Super  | SUPER  | Tidak didukung | Tidak didukung | Tipe fleksibel yang mendukung semua tipe data termasuk tipe kompleks | 