Topik ini menjelaskan cara mengeksekusi pernyataan SELECT untuk mengquery data dalam sebuah tabel.
Prasyarat
Tabel pemetaan telah dibuat.
Jika Anda ingin menggunakan tabel untuk mengquery data, buat tabel pemetaan untuk tabel tersebut.
Jika Anda ingin menggunakan indeks pencarian untuk mengquery data, buat tabel pemetaan untuk indeks pencarian.
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:
|
select_expr | Ya | Nama kolom atau ekspresi dalam format |
table_references | Ya | Informasi tentang tabel yang datanya ingin Anda query. Nilai parameter ini dapat berupa nama tabel atau pernyataan SELECT dalam format |
join_expr | Tidak | Ekspresi JOIN yang digunakan untuk menggabungkan tabel. Formatnya adalah 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.
|
groupby_condition | Tidak | Klausa GROUP BY yang dapat digunakan bersama dengan fungsi agregat. Formatnya adalah |
having_condition | Tidak | Klausa HAVING yang dapat digunakan bersama dengan fungsi agregat. Formatnya adalah |
order_condition | Tidak | Klausa ORDER BY dalam format |
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;