

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

# SELECT
<a name="cql.dml.select"></a>

Gunakan pernyataan SELECT untuk menanyakan data. 

**Sintaksis**

```
select_statement ::=  SELECT  [ JSON ] ( select_clause | '*' )
                      FROM table_name
                      [ WHERE 'where_clause' ]
                      [ ORDER BY 'ordering_clause' ]
                      [ LIMIT (integer | bind_marker) ]
                      [ ALLOW FILTERING ]
select_clause    ::=  selector [ AS identifier ] ( ',' selector [ AS identifier ] )
selector         ::=  column_name
                      | term
                      | CAST '(' selector AS cql_type ')'
                      | function_name '(' [ selector ( ',' selector )* ] ')'
where_clause     ::=  relation ( AND relation )*
relation         ::=  column_name operator term
                      TOKEN
operator         ::=  '=' | '<' | '>' | '<=' | '>=' | IN | CONTAINS | CONTAINS KEY
ordering_clause  ::=  column_name [ ASC | DESC ] ( ',' column_name [ ASC | DESC ] )*
```

**Contoh**

```
SELECT name, id, manager_id FROM "myGSGKeyspace".employees_tbl ;

SELECT JSON name, id, manager_id FROM "myGSGKeyspace".employees_tbl ;
```

Untuk tabel yang memetakan tipe JSON-encoded data ke tipe data Amazon Keyspaces, lihat. [Pengkodean JSON dari tipe data Amazon Keyspaces](cql.elements.md#cql.data-types.JSON)

**Menggunakan kata `IN` kunci**

`IN`Kata kunci menentukan kesetaraan untuk satu atau lebih nilai. Ini dapat diterapkan ke kunci partisi dan kolom pengelompokan. Hasil dikembalikan dalam urutan kunci disajikan dalam `SELECT` pernyataan.

**Contoh**

```
SELECT * from {{mykeyspace.mytable}} WHERE primary.key1 IN (1,2) and clustering.key1 = 2;
SELECT * from {{mykeyspace.mytable}} WHERE primary.key1 IN (1,2) and clustering.key1 <= 2;
SELECT * from {{mykeyspace.mytable}} WHERE primary.key1 = 1 and clustering.key1 IN (1, 2);
SELECT * from {{mykeyspace.mytable}} WHERE primary.key1 <= 2 and clustering.key1 IN (1, 2) ALLOW FILTERING;
```

Untuk informasi selengkapnya tentang `IN` kata kunci dan cara Amazon Keyspaces memproses pernyataan, lihat. [Gunakan `IN` operator dengan `SELECT` pernyataan dalam kueri di Amazon Keyspaces](in.select.md)

**Hasil pemesanan**

`ORDER BY`Klausa menentukan urutan dari hasil yang dikembalikan. Dibutuhkan sebagai argumen daftar nama kolom bersama dengan urutan pengurutan untuk setiap kolom. Anda hanya dapat menentukan kolom pengelompokan dalam klausa pengurutan. Non-clusteringkolom tidak diperbolehkan. Opsi urutan sortir adalah `ASC` untuk urutan urutan naik dan `DESC` turun. Jika urutan pengurutan dihilangkan, urutan default kolom pengelompokan digunakan. Untuk kemungkinan urutan pesanan, lihat[Pesan hasil dengan `ORDER BY` di Amazon Keyspaces](ordering-results.md).

**Contoh**

```
SELECT name, id, division, manager_id FROM "myGSGKeyspace".employees_tbl WHERE id = '012-34-5678' ORDER BY division;
```

Saat menggunakan `ORDER BY` dengan `IN` kata kunci, hasil diurutkan dalam halaman. Pemesanan ulang penuh dengan pagination dinonaktifkan tidak didukung.

**TOKEN**

Anda dapat menerapkan `TOKEN` fungsi ke `PARTITION KEY` kolom `SELECT` dan `WHERE` klausa. Dengan `TOKEN` fungsi tersebut, Amazon Keyspaces mengembalikan baris berdasarkan nilai token yang dipetakan `PARTITION_KEY` daripada nilai. `PARTITION KEY`

`TOKEN`hubungan tidak didukung dengan `IN` kata kunci.

**Contoh**

```
SELECT TOKEN(id) from {{my_table}}; 

SELECT TOKEN(id) from {{my_table}} WHERE TOKEN(id) > 100 and TOKEN(id) < 10000;
```

**Fungsi TTL**

Anda dapat menggunakan `TTL` fungsi dengan `SELECT` pernyataan untuk mengambil waktu kedaluwarsa dalam detik yang disimpan untuk kolom. Jika tidak ada `TTL` nilai yang ditetapkan, fungsi kembali`null`.

**Contoh**

```
SELECT TTL({{my_column}}) from {{my_table}};
```

`TTL`Fungsi ini tidak dapat digunakan pada kolom multi-sel seperti koleksi.

**WRITETIMEfungsi**

Anda dapat menggunakan `WRITETIME` fungsi dengan `SELECT` pernyataan untuk mengambil stempel waktu yang disimpan sebagai metadata untuk nilai kolom hanya jika tabel menggunakan stempel waktu sisi klien. Untuk informasi selengkapnya, lihat [Client-side stempel waktu di Amazon Keyspaces](client-side-timestamps.md). 

```
SELECT WRITETIME({{my_column}}) from {{my_table}};
```

`WRITETIME`Fungsi ini tidak dapat digunakan pada kolom multi-sel seperti koleksi.

**catatan**  
Untuk kompatibilitas dengan perilaku driver Cassandra yang telah ditetapkan, kebijakan otorisasi berbasis tag tidak diberlakukan saat Anda melakukan operasi pada tabel sistem dengan menggunakan panggilan API Cassandra Query Language (CQL) melalui driver Cassandra dan alat pengembang. Untuk informasi selengkapnya, lihat [Akses sumber daya Amazon Keyspaces berdasarkan tag](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-tags).