Pendahuluan
PostgreSQL adalah sistem manajemen basis data relasional sumber terbuka (RDBMS). Sistem database dengan mudah menangani beban kerja yang beragam dan mendukung sebagian besar sistem operasi. Ekstensibilitas dan kepatuhan SQL-nya membuat PostgreSQL menjadi RDBMS yang sangat populer.
SELECT
pernyataan adalah perintah bahasa manipulasi data (DML) yang paling umum digunakan di PostgreSQL.
Dalam tutorial ini, Anda akan belajar menggunakan pernyataan SELECT PostgreSQL dengan sintaks dan contoh lengkapnya.
Prasyarat
- PostgreSQL diinstal dan disiapkan.
- Database untuk dikerjakan (lihat cara membuat database.)
Pernyataan PILIH PostgreSQL
PostgreSQL SELECT
pernyataan mengambil data dari satu atau beberapa tabel dalam database, dan mengembalikan data dalam tabel hasil, yang disebut kumpulan hasil. Gunakan SELECT
pernyataan untuk mengembalikan satu atau lebih baris yang cocok dengan kriteria yang ditentukan dari tabel database.
SELECT
pernyataan adalah pernyataan paling kompleks dalam SQL, dengan banyak kata kunci dan klausa opsional. Bagian di bawah menjelaskan SELECT
sintaks secara rinci.
Sintaks PILIH PostgreSQL
Bentuk paling sederhana dari SELECT
sintaks pernyataan adalah:
SELECT expressions
FROM tables
WHERE conditions;
expressions
adalah semua kolom dan bidang yang Anda inginkan dalam hasil.tables
sintaks adalah tabel atau tabel tempat Anda ingin mengekstrak hasilnya.conditions
mewakili persyaratan yang harus dipenuhi untuk memilih catatan.
Contoh SELECT
. lengkap sintaks pernyataan adalah:
SELECT [ ALL | DISTINCT | DISTINCT ON (distinct_expressions) ]
expressions
FROM tables
[WHERE conditions]
[GROUP BY expressions]
[HAVING condition]
[ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS FIRST | NULLS LAST ]]
[LIMIT [ number_rows | ALL]
[OFFSET offset_value [ ROW | ROWS ]]
[FETCH { FIRST | NEXT } [ fetch_rows ] { ROW | ROWS } ONLY]
[FOR { UPDATE | SHARE } OF table [ NOWAIT ]];
Kami akan menjelaskan semua parameter di bagian di bawah ini.
Parameter PILIH PostgreSQL
Parameter yang mungkin dalam SELECT
pernyataan adalah:
ALL
- Parameter opsional yang mengembalikan semua baris yang cocok.DISTINCT
- Parameter yang menghapus duplikat dari kumpulan hasil.DISTINCT ON
- Parameter opsional yang menghilangkan data duplikat berdasarkandistinct_expressions
kata kunci.expressions
- Semua kolom dan bidang yang ingin Anda sertakan dalam hasil. Menentukan tanda bintang (*
) memilih semua kolom.tables
- Tentukan tabel dari mana Anda ingin mengambil catatan.FROM
klausa harus berisi setidaknya satu tabel.WHERE conditions
- Klausa ini opsional dan berisi kondisi yang harus dipenuhi untuk memfilter catatan di kumpulan hasil.GROUP BY expressions
- Klausa opsional yang mengumpulkan data dari beberapa catatan, mengelompokkan hasilnya menurut satu atau beberapa kolom.HAVING condition
- Klausa opsional yang digunakan dalam kombinasi denganGROUP BY
. Ini membatasi grup dari baris yang dikembalikan hanya yang memenuhi kondisiTRUE
, sehingga memfilternya.ORDER BY expression
- Klausa opsional yang mengidentifikasi kolom atau kolom mana yang digunakan untuk mengurutkan data dalam kumpulan hasil.LIMIT
- Klausa opsional yang menetapkan jumlah maksimum record untuk diambil dari tabel, ditentukan olehnumber_rows
sintaksis. Baris pertama dalam kumpulan hasil ditentukan olehoffset_value
.FETCH
- Klausa opsional yang menetapkan jumlah maksimum catatan dalam kumpulan hasil. Tentukan jumlah catatan sebagai penggantifetch_rows
sintaksis.offset_value
menentukan baris pertama dalam kumpulan hasil.FOR UPDATE
- Klausa opsional yang menulis-mengunci catatan yang diperlukan untuk menjalankan kueri hingga transaksi selesai.FOR SHARE
- Klausa opsional yang memungkinkan catatan digunakan oleh transaksi lain tetapi mencegah pembaruan atau penghapusannya.
Contoh Pernyataan SELECT PostgreSQL
Bagian di bawah ini menunjukkan beberapa kasus penggunaan untuk SELECT
pernyataan.
Contoh 1:Pilih Semua Bidang
Cara termudah untuk mengembalikan semua bidang dari dan melihat semua konten tabel adalah dengan menggunakan SELECT
PostgreSQL penyataan.
Misalnya:
SELECT * FROM actor;
Pada contoh di atas, output menunjukkan semua bidang yang terdapat dalam tabel aktor.
Contoh 2:Filter Hasil agar Cocok dengan Kondisi
SELECT
pernyataan memungkinkan Anda memfilter hasil dengan menetapkan kondisi. Pada contoh berikut, kami hanya ingin menampilkan judul film yang bahasa filmnya adalah bahasa Inggris (language_id=1
):
SELECT title
FROM film
WHERE language_id=1;
Contoh 3:Pilih Bidang dari Beberapa Tabel
PostgreSQL memungkinkan Anda untuk memproses data dari beberapa tabel dalam database. Untuk mendapatkan hasil dari beberapa tabel dalam satu kueri, gunakan JOIN .
Misalnya:
SELECT customer.first_name, customer.last_name, payment.amount
FROM customer
INNER JOIN payment
ON customer.customer_id=payment.customer_id
ORDER BY amount DESC;
Pada contoh di atas, kita menggabungkan dua tabel menggunakan INNER JOIN
untuk mendapatkan kumpulan hasil yang menampilkan kolom nama depan dan belakang dari satu tabel dan jumlah pembayaran dari tabel lain. Kedua tabel digabungkan oleh customer_id
kolom, yang sama di kedua tabel.
Hasilnya dalam urutan menurun, ditentukan oleh ORDER BY amount DESC
klausa.
Contoh 4:Pilih Bidang Individu dari Satu Tabel
PostgreSQL SELECT
pernyataan memungkinkan Anda untuk mengembalikan bidang individual dari tabel.
Misalnya:
SELECT first_name, last_name
FROM actor
ORDER BY last_name ASC;
Contoh di atas hanya memberikan nama depan dan belakang aktor dan meninggalkan kolom lainnya. Output mengurutkan hasil dengan nama belakang dalam urutan menaik.
Contoh 5:Kolom Gabungan
Jika Anda ingin kumpulan hasil Anda menggabungkan beberapa kolom menjadi satu, Anda dapat menggunakan operator penggabungan ||
dengan SELECT
penyataan. Misalnya:
SELECT
first_name || ' ' || last_name
FROM
customer;
Dalam contoh ini, kami menggabungkan kolom nama depan dan belakang untuk mendapatkan nama lengkap setiap pelanggan.
Contoh 6:Perhitungan
Anda juga dapat menggunakan SELECT
untuk melakukan beberapa perhitungan, tetapi kemudian Anda menghilangkan FROM
ayat. Misalnya:
SELECT 15*3/5;
Outputnya adalah hasil ekspresi matematika yang ditentukan dalam SELECT
pernyataan.