

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

# Klausa SELECT
<a name="iot-sql-select"></a>

Klausa AWS IoT SELECT pada dasarnya sama dengan klausa ANSI SQL SELECT, dengan beberapa perbedaan kecil.

Klausa SELECT mendukung [Jenis Data](iot-sql-data-types.md)[Operator](iot-sql-operators.md),,[Fungsi](iot-sql-functions.md),[Literal](iot-sql-literals.md), [Pernyataan kasus](iot-sql-case.md)[Ekstensi JSON](iot-sql-json.md), [Variabel](iot-sql-set.md#iot-sql-set-usage)[Kueri objek bersarang](iot-sql-nested-queries.md), dan[Muatan biner](binary-payloads.md).

Anda dapat menggunakan klausa SELECT untuk mengekstrak informasi dari pesan MQTT yang masuk. Anda juga dapat menggunakan `SELECT *` untuk mengambil seluruh payload pesan masuk. Contoh:

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL statement: SELECT * FROM 'topic/subtopic'
Outgoing payload: {"color":"red", "temperature":50}
```

Jika payload adalah objek JSON, Anda dapat referensi kunci dalam objek. Payload keluar Anda berisi pasangan kunci-nilai. Contoh:

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL statement: SELECT color FROM 'topic/subtopic'
Outgoing payload: {"color":"red"}
```

Anda dapat menggunakan kata kunci AS untuk mengganti nama kunci. Contoh:

```
Incoming payload published on topic 'topic/subtopic':{"color":"red", "temperature":50}
SQL:SELECT color AS my_color FROM 'topic/subtopic'
Outgoing payload: {"my_color":"red"}
```

Anda dapat memilih beberapa item dengan memisahkannya dengan koma. Contoh:

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL: SELECT color as my_color, temperature as fahrenheit FROM 'topic/subtopic'
Outgoing payload: {"my_color":"red","fahrenheit":50}
```

Anda dapat memilih beberapa item termasuk '\*' untuk menambahkan item ke muatan yang masuk. Contoh:

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL: SELECT *, 15 as speed FROM 'topic/subtopic'
Outgoing payload: {"color":"red", "temperature":50, "speed":15}
```

Anda dapat menggunakan `"VALUE"` kata kunci untuk menghasilkan payload keluar yang bukan objek JSON. Dengan versi SQL`2015-10-08`, Anda hanya dapat memilih satu item. Dengan versi SQL `2016-03-23` atau yang lebih baru, Anda juga dapat memilih array untuk output sebagai objek tingkat atas.

**Example**  

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL: SELECT VALUE color FROM 'topic/subtopic'
Outgoing payload: "red"
```

Anda dapat menggunakan `'.'` sintaks untuk menelusuri objek JSON bersarang di payload yang masuk. Contoh:

```
Incoming payload published on topic 'topic/subtopic': {"color":{"red":255,"green":0,"blue":0}, "temperature":50}
SQL: SELECT color.red as red_value FROM 'topic/subtopic'
Outgoing payload: {"red_value":255}
```

Untuk informasi tentang cara menggunakan objek JSON dan nama properti yang menyertakan karakter cadangan, seperti angka atau karakter tanda hubung (minus), lihat [Ekstensi JSON](iot-sql-json.md)

Anda dapat menggunakan fungsi (lihat[Fungsi](iot-sql-functions.md)) untuk mengubah payload yang masuk. Anda dapat menggunakan tanda kurung untuk pengelompokan. Contoh:

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL: SELECT (temperature - 32) * 5 / 9 AS celsius, upper(color) as my_color FROM 'topic/subtopic'
Outgoing payload: {"celsius":10,"my_color":"RED"}
```