

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 data yang disandikan JSON 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. Kolom non-clustering tidak diperbolehkan. Opsi urutan sortir adalah `ASC` untuk urutan naik dan `DESC` untuk urutan urutan menurun. 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 [Stempel waktu sisi klien 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).