

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

# CloudTrail Kendala Lake SQL
<a name="query-limitations"></a>

**catatan**  
AWS CloudTrail Danau tidak akan lagi terbuka untuk pelanggan baru mulai 31 Mei 2026. Jika Anda ingin menggunakan CloudTrail Danau, daftar sebelum tanggal tersebut. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [CloudTrail Perubahan ketersediaan danau](cloudtrail-lake-service-availability-change.md).

CloudTrail Kueri danau adalah string SQL. Bagian ini memberikan informasi tentang fungsi, operator, dan skema yang didukung.

Hanya `SELECT` pernyataan yang diizinkan. Tidak ada string kueri yang dapat mengubah atau mengubah data.

Sintaks CloudTrail Lake untuk `SELECT` pernyataan adalah sebagai berikut. ID penyimpanan data peristiwa — bagian ID dari ARN penyimpanan data peristiwa — ditentukan untuk nilainya. `FROM`

```
SELECT [ DISTINCT ] columns [ Aggregate ]
[ FROM table event_data_store_ID]
[ WHERE columns [ Conditions ] ]
[ GROUP BY columns [ DISTINCT | Aggregate ] ]
[ HAVING columns [ Aggregate | Conditions ] ]
[ ORDER BY columns [ Aggregate | ASC | DESC | NULLS | FIRST | LAST ]
[ LIMIT [ INT ] ]
```

CloudTrail Lake mendukung semua `SELECT` pernyataan, fungsi, dan operator Trino SQL yang valid. Untuk informasi selengkapnya tentang fungsi dan operator SQL yang didukung, lihat [Fungsi dan Operator](https://trino.io/docs/current/functions.html) di situs web dokumentasi Trino. 

 CloudTrail Konsol menyediakan sejumlah contoh kueri yang dapat membantu Anda mulai menulis kueri Anda sendiri. Untuk informasi selengkapnya, lihat [Lihat contoh kueri dengan konsol CloudTrail](lake-console-queries.md).

Untuk informasi tentang cara mengoptimalkan kueri Anda, lihat[Optimalkan kueri CloudTrail Danau](lake-queries-optimization.md).

**Topics**
+ [Fungsi, kondisi, dan bergabung dengan operator yang didukung](#query-aggregates-condition-operators)
+ [Dukungan kueri multi-tabel tingkat lanjut](#query-advanced-multi-table)

## Fungsi, kondisi, dan bergabung dengan operator yang didukung
<a name="query-aggregates-condition-operators"></a>

**Fungsi yang didukung**

CloudTrail Danau mendukung semua fungsi Trino. Untuk informasi selengkapnya tentang fungsi yang didukung, lihat [Fungsi dan Operator](https://trino.io/docs/current/functions.html) di situs web dokumentasi Trino.

**Operator kondisi yang didukung**

Berikut ini adalah operator kondisi yang didukung.

```
AND
OR
IN
NOT
IS (NOT) NULL
LIKE
BETWEEN
GREATEST
LEAST
IS DISTINCT FROM
IS NOT DISTINCT FROM
<
>
<=
>=
<>
!=
( conditions ) #parenthesised conditions
```

**Operator bergabung yang didukung**

Berikut ini adalah `JOIN` operator yang didukung. Untuk informasi selengkapnya tentang menjalankan kueri multi-tabel, lihat. [Dukungan kueri multi-tabel tingkat lanjut](#query-advanced-multi-table)

```
UNION 
UNION ALL 
EXCEPT 
INTERSECT 
LEFT JOIN 
RIGHT JOIN 
INNER JOIN
```

## Dukungan kueri multi-tabel tingkat lanjut
<a name="query-advanced-multi-table"></a>

CloudTrail Lake mendukung bahasa kueri tingkat lanjut di beberapa penyimpanan data acara.
+ [`UNION|UNION ALL|EXCEPT|INTERSECT`](#query-multi-table-union)
+ [`LEFT|RIGHT|INNER JOIN`](#query-multi-table-left-right)

Untuk menjalankan kueri Anda, gunakan **start-query** perintah di file AWS CLI. Berikut ini adalah contoh, menggunakan salah satu contoh kueri di bagian ini.

```
aws cloudtrail start-query
--query-statement "Select eventId, eventName from EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE UNION Select eventId, eventName from EXAMPLEg741-6y1x-9p3v-bnh6iEXAMPLE UNION ALL Select eventId, eventName from EXAMPLEb529-4e8f9l3d-6m2z-lkp5sEXAMPLE ORDER BY eventId LIMIT 10;"
```

Responsnya adalah `QueryId` string. Untuk mendapatkan status kueri, jalankan`describe-query`, menggunakan `QueryId` nilai yang dikembalikan oleh`start-query`. Jika kueri berhasil, Anda dapat menjalankan `get-query-results` untuk mendapatkan hasil.

### `UNION|UNION ALL|EXCEPT|INTERSECT`
<a name="query-multi-table-union"></a>

Berikut ini adalah contoh query yang menggunakan `UNION` dan `UNION ALL` untuk menemukan peristiwa dengan ID acara dan nama acara mereka di tiga penyimpanan data acara, EDS1, EDS2, dan EDS3. Hasilnya dipilih dari setiap penyimpanan data peristiwa terlebih dahulu, kemudian hasilnya digabungkan, diurutkan berdasarkan ID peristiwa, dan dibatasi hingga sepuluh peristiwa.

```
Select eventId, eventName from EDS1
UNION
Select eventId, eventName from EDS2
UNION ALL
Select eventId, eventName from EDS3 
ORDER BY eventId LIMIT 10;
```

### `LEFT|RIGHT|INNER JOIN`
<a name="query-multi-table-left-right"></a>

Berikut ini adalah contoh kueri yang digunakan `LEFT JOIN` untuk menemukan semua peristiwa dari penyimpanan data peristiwa bernama`eds2`, dipetakan ke`edsB`, yang cocok dengan yang ada di penyimpanan data peristiwa utama (kiri),`edsA`. Peristiwa yang dikembalikan terjadi pada atau sebelum 1 Januari 2020, dan hanya nama acara yang dikembalikan.

```
SELECT edsA.eventName, edsB.eventName, element_at(edsA.map, 'test')
FROM eds1 as edsA 
LEFT JOIN eds2 as edsB
ON edsA.eventId = edsB.eventId 
WHERE edsA.eventtime <= '2020-01-01'
ORDER BY edsB.eventName;
```