

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

# BERGABUNG MENJADI
<a name="merge-into-statement"></a>

Secara kondisional memperbarui, menghapus, atau menyisipkan baris ke dalam tabel Apache Iceberg. Sebuah pernyataan tunggal dapat menggabungkan tindakan pembaruan, menghapus, dan menyisipkan.

**catatan**  
`MERGE INTO`bersifat transaksional dan hanya didukung untuk tabel Apache Iceberg di mesin Athena versi 3.

## Sinopsis
<a name="merge-into-statement-synopsis"></a>

Untuk memperbarui, menghapus, atau menyisipkan baris secara kondisional dari tabel Iceberg, gunakan sintaks berikut.

```
MERGE INTO target_table [ [ AS ]  target_alias ]
USING { source_table | query } [ [ AS ] source_alias ]
ON search_condition
when_clause [...]
```

*when\$1clause*Ini adalah salah satu dari berikut ini:

```
WHEN MATCHED [ AND condition ]
    THEN DELETE
```

```
WHEN MATCHED [ AND condition ]
    THEN UPDATE SET ( column = expression [, ...] )
```

```
WHEN NOT MATCHED [ AND condition ]
    THEN INSERT (column_name[, column_name ...]) VALUES (expression, ...)
```

`MERGE`mendukung sejumlah `WHEN` klausa yang sewenang-wenang dengan kondisi yang berbeda. `MATCHED` Klausa kondisi mengeksekusi`DELETE`, `UPDATE` atau `INSERT` operasi dalam `WHEN` klausa pertama yang dipilih oleh `MATCHED` status dan kondisi kecocokan.

Untuk setiap baris sumber, `WHEN` klausa diproses secara berurutan. Hanya `WHEN` klausa pencocokan pertama yang dieksekusi. Klausul selanjutnya diabaikan. Kesalahan pengguna muncul ketika satu baris tabel target cocok dengan lebih dari satu baris sumber.

Jika baris sumber tidak cocok dengan `WHEN` klausa apa pun dan tidak ada `WHEN NOT MATCHED` klausa, baris sumber diabaikan.

Dalam `WHEN` klausa yang memiliki `UPDATE` operasi, ekspresi nilai kolom dapat merujuk ke bidang apa pun dari target atau sumber. Dalam `NOT MATCHED` kasus ini, `INSERT` ekspresi dapat merujuk ke bidang sumber apa pun.

**Contoh**  
Contoh berikut menggabungkan baris dari tabel kedua ke tabel pertama jika baris tidak ada di tabel pertama. Perhatikan bahwa kolom yang tercantum dalam `VALUES` klausa harus diawali dengan alias tabel sumber. Kolom target yang tercantum dalam `INSERT` klausa *tidak* boleh diawali.

```
MERGE INTO iceberg_table_sample as ice1
USING iceberg2_table_sample as ice2
ON ice1.col1 = ice2.col1
WHEN NOT MATCHED 
THEN INSERT (col1)
      VALUES (ice2.col1)
```

Untuk `MERGE INTO` contoh lainnya, lihat[Perbarui data tabel Gunung Es](querying-iceberg-updating-iceberg-table-data.md).