全部产品
Search
文档中心

Tablestore:Mengquery Data

更新时间:Jul 02, 2025

Topik ini menjelaskan cara mengeksekusi pernyataan SELECT untuk mengquery data dalam sebuah tabel.

Prasyarat

Tabel pemetaan telah dibuat.

Catatan Penggunaan

  • Jika Anda langsung menggunakan pernyataan SQL seperti DESCRIBE atau SELECT untuk mengquery data dalam tabel tanpa membuat tabel pemetaan, sistem akan secara otomatis membuat tabel pemetaan. Tabel pemetaan yang dibuat otomatis hanya berisi kolom kunci utama dan kolom yang telah ditentukan sebelumnya dari tabel data dan tidak memperbolehkan pembaruan atribut kolom.

  • Jika indeks sekunder atau indeks pencarian dibuat untuk tabel data, saat mengeksekusi pernyataan SQL untuk mengquery data, Anda harus menentukan kebijakan pemilihan indeks. Kebijakan pemilihan indeks mencakup pemilihan otomatis dan manual.

  • Klausa dalam pernyataan SELECT dieksekusi dalam urutan berikut: WHERE > GROUP BY > HAVING > ORDER BY > LIMIT dan OFFSET.

Sintaksis

SELECT
    [ALL | DISTINCT | DISTINCTROW]
    select_expr [, select_expr] ...
    [FROM table_references | join_expr]
    [WHERE where_condition]
    [GROUP BY groupby_condition]
    [HAVING having_condition]
    [ORDER BY order_condition]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]

Parameter

Parameter

Diperlukan

Deskripsi

ALL | DISTINCT | DISTINCTROW

Tidak

Menentukan apakah akan menghapus nilai bidang duplikat. Nilai default: ALL. Nilai valid:

  • ALL: mengembalikan semua nilai dari bidang yang ditentukan, termasuk nilai duplikat.

  • DISTINCT: menghapus nilai duplikat dan hanya mengembalikan nilai unik dari bidang.

  • DISTINCTROW: menghapus baris yang berisi nilai duplikat dan mengembalikan baris yang hanya berisi nilai unik dari bidang.

select_expr

Ya

Nama kolom atau ekspresi dalam format column_name[, column_name][, column_exp],... Untuk informasi lebih lanjut, lihat Ekspresi kolom (select_expr).

table_references

Ya

Informasi tentang tabel yang datanya ingin Anda query. Nilai parameter ini dapat berupa nama tabel atau pernyataan SELECT dalam format table_name | select_statement. Untuk informasi lebih lanjut, lihat Informasi tabel (table_references).

join_expr

Tidak

Ekspresi JOIN yang digunakan untuk menggabungkan tabel. Formatnya adalah table_references join_type table_references [ ON join_condition | USING ( join_column [, ...] ) ]. Parameter ini hanya diperlukan jika Anda ingin menggunakan fungsi JOIN.

Fungsi JOIN memungkinkan Anda menggabungkan dua atau lebih tabel dan mengembalikan data yang memenuhi kondisi penggabungan dan query. Untuk informasi lebih lanjut, lihat JOIN.

where_condition

Tidak

Klausa WHERE yang dapat digunakan untuk menentukan berbagai kondisi untuk mengimplementasikan fitur tertentu.

  • Anda dapat menggunakan operator relasional dalam klausa WHERE untuk mengquery data yang memenuhi kondisi tertentu. Formatnya adalah column_name operator value [AND | OR] [column_name operator value]. Untuk informasi lebih lanjut, lihat Klausa WHERE (where_condition).

  • Anda dapat menentukan kondisi query pencocokan atau query frasa pencocokan dalam klausa WHERE untuk melakukan pencarian teks lengkap. Untuk informasi lebih lanjut, lihat Pencarian teks lengkap.

  • Anda dapat menggunakan fungsi ARRAY_EXTRACT(col_name) dalam klausa WHERE untuk mengquery data tipe ARRAY yang didukung dalam indeks pencarian. Untuk informasi lebih lanjut, lihat Tipe ARRAY dalam indeks pencarian.

    col_name dalam fungsi menentukan nama bidang ARRAY yang ingin diquery.

  • Anda dapat menggunakan operator atau fungsi NESTED_QUERY(subcol_column_condition) dalam klausa WHERE untuk mengquery data tipe NESTED yang didukung dalam indeks pencarian. Untuk informasi lebih lanjut, lihat NESTED yang didukung dalam indeks pencarian.

    subcol_column_condition dalam fungsi menentukan kondisi untuk mengquery data bidang anak pada tingkat nesting yang sama.

  • Anda dapat menggunakan kolom virtual dalam klausa WHERE untuk mengquery data yang memenuhi kondisi tertentu. Untuk informasi lebih lanjut, lihat Kolom virtual indeks pencarian.

groupby_condition

Tidak

Klausa GROUP BY yang dapat digunakan bersama dengan fungsi agregat. Formatnya adalah column_name. Untuk informasi lebih lanjut, lihat Klausa GROUP BY (groupby_condition).

having_condition

Tidak

Klausa HAVING yang dapat digunakan bersama dengan fungsi agregat. Formatnya adalah aggregate_function(column_name) operator value. Untuk informasi lebih lanjut, lihat Klausa HAVING (having_condition).

order_condition

Tidak

Klausa ORDER BY dalam format column_name [ASC | DESC][,column_name [ASC | DESC],...]. Untuk informasi lebih lanjut, lihat Klausa ORDER BY (order_condition).

row_count

Tidak

Jumlah maksimum baris yang dikembalikan dalam query.

offset

Tidak

Data yang dilewati dalam query. Nilai default: 0.

Ekspresi Kolom (select_expr)

Gunakan select_expr untuk menentukan kolom yang ingin di-query. Perhatikan hal-hal berikut:

  • Gunakan wildcard (*) untuk mengquery semua kolom. Anda juga dapat menggunakan klausa WHERE untuk menentukan kondisi query.

    SELECT * FROM orders;

    Contoh berikut menunjukkan cara menggunakan klausa WHERE untuk menentukan kondisi query:

    SELECT * FROM orders WHERE orderprice >= 100;
  • Gunakan nama kolom untuk menentukan kolom yang ingin di-query.

    SELECT username FROM orders;
  • Gunakan fungsi JSON untuk mengquery objek JSON.

    SELECT coljson, coljson->>'$.a' AS subdoc FROM json_table WHERE pkint = 1;

    Untuk informasi lebih lanjut, lihat Fungsi JSON.

Informasi Tabel (table_references)

Gunakan table_references untuk menentukan tabel yang datanya ingin di-query.

SELECT orderprice FROM orders;

Klausa WHERE (where_condition)

Gunakan where_condition untuk mengquery data yang memenuhi kondisi tertentu. Perhatikan hal-hal berikut:

  • Gunakan ekspresi sederhana dengan operator aritmatika atau relasional.

    SELECT * FROM orders WHERE username = 'lily';
    SELECT * FROM orders WHERE orderprice >= 100;
  • Gunakan ekspresi gabungan dengan operator logika.

    SELECT * FROM orders WHERE username = 'lily' AND orderprice >= 100;

Untuk informasi lebih lanjut tentang operator, lihat Operator SQL.

Klausa GROUP BY (groupby_condition)

Gunakan groupby_condition untuk mengelompokkan baris data dalam hasil query berdasarkan kondisi tertentu. Perhatikan hal-hal berikut:

  • Kelompokkan baris data berdasarkan bidang.

    SELECT username FROM orders GROUP BY username;
  • Gunakan fungsi agregat pada kolom yang dikelompokkan.

    SELECT username,COUNT(*) FROM orders GROUP BY username;
  • Tambahkan kolom tempat fungsi agregat tidak dijalankan ke klausa GROUP BY.

    SELECT username,orderprice FROM orders GROUP BY username,orderprice;

Untuk informasi lebih lanjut tentang fungsi agregat, lihat Fungsi Agregat.

Klausa HAVING (having_condition)

Gunakan having_condition untuk menyaring baris data yang telah dikelompokkan dalam hasil query berdasarkan kondisi tertentu.

Dalam banyak kasus, klausa HAVING digunakan bersama dengan fungsi agregat untuk menyaring data.

SELECT username,SUM(orderprice) FROM orders GROUP BY username HAVING SUM(orderprice) < 500;

Klausa ORDER BY (order_condition)

Gunakan order_condition untuk mengurutkan baris data dalam hasil query berdasarkan bidang dan metode pengurutan tertentu. Perhatikan hal-hal berikut:

  • Gunakan kata kunci ASC atau DESC untuk menentukan metode pengurutan. Secara default, data diurutkan secara menaik (ASC).

    SELECT * FROM orders ORDER BY orderprice DESC LIMIT 10;
  • Tentukan beberapa bidang untuk pengurutan data.

    SELECT * FROM orders ORDER BY username ASC,orderprice DESC LIMIT 10;
  • Gunakan LIMIT untuk membatasi jumlah baris yang dikembalikan.

    SELECT * FROM orders ORDER BY orderprice LIMIT 10;

Pertanyaan Umum