Access SQL: konsep dasar, kosakata, dan sintaks
Applies ToAccess untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Saat Anda ingin mengambil data dari database, Anda meminta data dengan menggunakan Bahasa Permintaan Terstruktur, atau SQL. SQL adalah bahasa komputer yang sangat mirip dengan bahasa Inggris, tetapi program database tersebut memahaminya. Setiap kueri yang Anda jalankan menggunakan SQL di balik layar.

Memahami cara kerja SQL bisa membantu Anda membuat kueri yang lebih baik, dan bisa memudahkan Anda memahami cara memperbaiki kueri yang tidak mengembalikan hasil yang Anda inginkan.

Bagian ini termasuk dalam kumpulan artikel tentang Access SQL. Artikel ini menguraikan penggunaan dasar SQL untuk memilih data, dan menggunakan contoh untuk menggambarkan sintaks SQL.

Di artikel ini

Apa itu SQL?

SQL adalah bahasa komputer untuk bekerja dengan sekumpulan fakta dan hubungan di antaranya. Program database relasialis, seperti Microsoft Office Access, gunakan SQL untuk bekerja dengan data. Tidak seperti banyak bahasa komputer, SQL tidak sulit untuk dibaca dan dimengerti, bahkan untuk pemula. Seperti banyak bahasa komputer, SQL adalah standar internasional yang dikenali oleh badan standar seperti ISO dan ANSI.

Anda menggunakan SQL untuk menjelaskan kumpulan data yang bisa membantu Anda menjawab pertanyaan. Ketika menggunakan SQL, Anda harus menggunakan sintaks yang benar. Sintaks adalah kumpulan aturan di mana elemen bahasa digabungkan dengan benar. Sintaks SQL didasarkan pada sintaks bahasa Inggris, dan menggunakan banyak elemen yang sama seperti sintaks Visual Basic for Applications (VBA).

Misalnya, pernyataan SQL sederhana yang mengambil daftar nama belakang untuk kontak yang nama depannya adalah Mary mungkin menyerupai ini:

SELECT Last_NameFROM ContactsWHERE First_Name = 'Mary';

Catatan: SQL tidak hanya digunakan untuk memanipulasi data, tetapi juga untuk membuat dan mengubah desain objek database, seperti tabel. Bagian dari SQL yang digunakan untuk membuat dan mengubah objek database disebut data-definition language (DDL). Topik ini tidak mencakup DDL. Untuk informasi selengkapnya, lihat artikel Membuat atau mengubah tabel atau indeks menggunakan kueri definisi data.

Pernyataan SELECT

Untuk menjelaskan sekumpulan data menggunakan SQL, tulis pernyataan SELECT. Pernyataan SELECT berisi deskripsi lengkap sekumpulan data yang ingin Anda peroleh dari database. Ini termasuk yang berikut ini:

  • Tabel apa yang berisi data.

  • Bagaimana data dari sumber yang berbeda terkait.

  • Bidang atau perhitungan mana yang akan menghasilkan data.

  • Kriteria yang harus cocok dengan data yang disertakan.

  • Apakah dan bagaimana mengurutkan hasil.

Klausul SQL

Seperti kalimat, pernyataan SQL memiliki klausul. Setiap klausul menjalankan fungsi untuk pernyataan SQL. Beberapa klausa diperlukan dalam pernyataan SELECT. Tabel berikut ini mencantumkan klausul SQL yang paling umum.

Klausul SQL

Fungsinya

Diperlukan

SELECT

Lists bidang yang berisi data yang diminati.

Ya

FROM

Lists tabel yang berisi bidang yang tercantum dalam klausul SELECT.

Ya

WHERE

Menentukan kriteria bidang yang harus dipenuhi oleh setiap rekaman untuk disertakan dalam hasil.

Tidak

PESAN BERDASARKAN

Menentukan cara mengurutkan hasil.

Tidak

GROUP BY

Dalam pernyataan SQL yang berisi fungsi agregat, cantumkan bidang yang tidak diringkas dalam klausul SELECT.

Hanya jika ada bidang seperti itu

HAVING

Dalam pernyataan SQL yang berisi fungsi agregat, tentukan kondisi yang berlaku untuk bidang yang diringkas dalam pernyataan SELECT.

Nomor

Ketentuan SQL

Setiap klausul SQL terdiri dari istilah - sebanding dengan bagian ucapan. Tabel berikut ini mencantumkan tipe istilah SQL.

Istilah SQL

Bagian ucapan yang sebanding

Definisi

Contoh

Pengenal

Kata benda

Nama yang Anda gunakan untuk mengidentifikasi objek database, seperti nama bidang.

Pelanggan. [Nomor Telepon]

operator

kata kerja atau kata keterangan

Kata kunci yang mewakili tindakan atau mengubah tindakan.

AS

konstanta

Kata benda

Nilai yang tidak berubah, seperti angka atau NULL.

42

ekspresi

kata sifat

Kombinasi pengidentifikasi, operator, konstanta, dan fungsi yang mengevaluasi ke satu nilai.

>= Produk. [Harga Satuan]

Atas Halaman

Klausul SQL dasar: SELECT, FROM, dan WHERE

Pernyataan SQL mengambil formulir umum:

SELECT field_1FROM table_1WHERE criterion_1;

Catatan: 

  • Access mengabaikan hentian baris dalam pernyataan SQL. Namun, pertimbangkan menggunakan garis untuk setiap klausul untuk membantu meningkatkan keterbacaan pernyataan SQL Anda untuk diri Anda dan orang lain.

  • Setiap pernyataan SELECT diakhiri dengan titik koma (;). Titik koma dapat muncul di akhir klausul terakhir atau pada baris itu sendiri di akhir pernyataan SQL.

Contoh di Access

Berikut ini menggambarkan seperti apa pernyataan SQL untuk kueri pemilihan sederhana di Access:

Tab objek SQL yang memperlihatkan pernyataan SELECT

1. Klausul SELECT

2. Klausul FROM

3. Klausul WHERE

Contoh ini pernyataan SQL berbunyi "Pilih data yang disimpan dalam bidang bernama Alamat Email dan Perusahaan dari tabel bernama Kontak, khususnya catatan di mana nilai bidang Kota adalah Seattle."

Mari kita lihat contohnya, satu klausa dalam satu waktu, untuk melihat cara kerja sintaks SQL.

Klausul SELECT

SELECT [E-mail Address], Company

Ini adalah klausul SELECT. Ini terdiri dari operator (SELECT) diikuti oleh dua pengidentifikasi ([Alamat Email] dan Perusahaan).

Jika pengidentifikasi berisi spasi atau karakter khusus (seperti "Alamat Email"), pengidentifikasi harus dimasukkan dalam tanda kurung siku.

Klausul SELECT tidak harus mengatakan tabel mana yang berisi bidang, dan tidak dapat menentukan kondisi apa pun yang harus dipenuhi oleh data yang akan disertakan.

Klausul SELECT selalu muncul di depan klausul FROM dalam pernyataan SELECT.

Klausul FROM

FROM Contacts

Ini adalah klausul FROM. Terdiri dari operator (FROM) diikuti dengan pengidentifikasi (Kontak).

Klausul FROM tidak mencantumkan bidang yang akan dipilih.

Klausul WHERE

WHERE City="Seattle"

Ini adalah klausul WHERE. Terdiri dari operator (WHERE) diikuti dengan ekspresi (City="Seattle").

Catatan: Tidak seperti klausul SELECT dan FROM, klausul WHERE bukanlah elemen pernyataan SELECT yang diperlukan.

Anda bisa menyelesaikan banyak tindakan yang SQL memungkinkan Anda untuk melakukan dengan menggunakan klausul SELECT, FROM, dan WHERE. Informasi selengkapnya tentang cara Anda menggunakan klausul ini disajikan dalam artikel tambahan ini:

Atas Halaman

Mengurutkan hasil: ORDER BY

Seperti Microsoft Excel, Access memungkinkan Anda mengurutkan hasil kueri dalam lembar data. Anda juga bisa menentukan dalam kueri bagaimana Anda ingin mengurutkan hasil saat kueri dijalankan, dengan menggunakan klausul ORDER BY. Jika Anda menggunakan klausul ORDER BY, klausul tersebut adalah klausul terakhir dalam pernyataan SQL.

Klausul ORDER BY berisi daftar bidang yang ingin Anda gunakan untuk pengurutan, dalam urutan yang sama dengan yang Anda inginkan untuk menerapkan operasi pengurutan.

Misalnya, anggaplah Anda ingin hasil Anda diurutkan terlebih dahulu menurut nilai bidang Perusahaan dalam urutan menurun, dan — jika ada catatan dengan nilai yang sama untuk Perusahaan — diurutkan berikutnya oleh nilai dalam bidang Alamat Email dalam urutan naik. Klausul ORDER BY Anda akan terlihat seperti berikut ini:

ORDER BY Company DESC, [E-mail Address]

Catatan: Secara default, Access mengurutkan nilai dalam urutan naik (A-Z, terkecil ke terbesar). Gunakan kata kunci DESC untuk mengurutkan nilai dalam urutan menurun.

Untuk informasi selengkapnya tentang klausul ORDER BY, lihat topik ORDER BY Clause.

Atas Halaman

Bekerja dengan data ringkasan: GROUP BY dan HAVING

Terkadang Anda ingin bekerja dengan data ringkasan, seperti total penjualan dalam sebulan, atau item paling mahal dalam inventarisasi. Untuk melakukannya, terapkan fungsi agregat ke bidang dalam klausul SELECT. Misalnya, jika Anda ingin kueri memperlihatkan jumlah alamat email yang tercantum untuk setiap perusahaan, klausul SELECT Anda mungkin terlihat seperti berikut ini:

SELECT COUNT([E-mail Address]), Company

Fungsi agregat yang bisa Anda gunakan bergantung pada tipe data yang ada di bidang atau ekspresi yang ingin Anda gunakan. Untuk informasi selengkapnya tentang fungsi agregat yang tersedia, lihat artikel Fungsi Agregat SQL.

Menentukan bidang yang tidak digunakan dalam fungsi agregat: Klausul GROUP BY

Ketika menggunakan fungsi agregat, Anda biasanya juga harus membuat klausul GROUP BY. Klausul GROUP BY mencantumkan semua bidang yang tidak Anda terapkan fungsi agregatnya. Jika Anda menerapkan fungsi agregat ke semua bidang dalam kueri, Anda tidak harus membuat klausul GROUP BY.

Klausul GROUP BY segera mengikuti klausul WHERE, atau klausul FROM jika tidak ada klausul WHERE. Klausul GROUP BY mencantumkan bidang saat muncul dalam klausul SELECT.

Misalnya, melanjutkan contoh sebelumnya, jika klausul SELECT Anda menerapkan fungsi agregat ke [Alamat Email] tetapi tidak ke Perusahaan, klausul GROUP BY Anda akan terlihat seperti berikut ini:

GROUP BY Company

Untuk informasi selengkapnya tentang klausul GROUP BY, lihat topik Klausul GROUP BY.

Membatasi nilai agregat dengan menggunakan kriteria grup: klausul HAVING

Jika Anda ingin menggunakan kriteria untuk membatasi hasil Anda, tapi bidang yang ingin Anda terapkan kriteria digunakan dalam fungsi agregat, Anda tidak bisa menggunakan klausul WHERE. Sebagai gantinya, Anda menggunakan klausul HAVING. Klausul HAVING berfungsi seperti klausul WHERE, tetapi digunakan untuk data agregat.

Misalnya, anggaplah Anda menggunakan fungsi AVG (yang menghitung nilai rata-rata) dengan bidang pertama dalam klausul SELECT Anda:

SELECT COUNT([E-mail Address]), Company

Jika Ingin kueri membatasi hasil berdasarkan nilai fungsi COUNT tersebut, Anda tidak dapat menggunakan kriteria untuk bidang tersebut dalam klausul WHERE. Sebagai gantinya, Anda meletakkan kriteria dalam klausul HAVING. Misalnya, jika Anda hanya ingin kueri mengembalikan baris jika ada lebih dari satu alamat email yang terkait dengan perusahaan, klausul HAVING mungkin terlihat seperti berikut ini:

HAVING COUNT([E-mail Address])>1

Catatan: Kueri bisa memiliki klausul WHERE dan klausul HAVING — kriteria untuk bidang yang tidak digunakan dalam fungsi agregat masuk ke klausul WHERE, dan kriteria untuk bidang yang digunakan dengan fungsi agregat masuk ke klausul HAVING.

Untuk informasi selengkapnya tentang klausul HAVING, lihat klausul HAVING topik.

Atas Halaman

Menggabungkan hasil kueri: UNION

Saat Anda ingin meninjau semua data yang dikembalikan oleh beberapa kueri pemilih serupa bersama-sama, sebagai kumpulan gabungan, Anda menggunakan operator UNION.

Operator UNION memungkinkan Anda menggabungkan dua pernyataan SELECT menjadi satu. Pernyataan SELECT yang Anda gabungkan harus memiliki jumlah bidang output yang sama, dalam urutan yang sama, dan dengan tipe data yang sama atau kompatibel. Saat Anda menjalankan kueri, data dari setiap kumpulan bidang terkait digabungkan menjadi satu bidang output, sehingga output kueri memiliki jumlah bidang yang sama seperti setiap pernyataan pemilihan.

Catatan: Untuk tujuan kueri gabungan, tipe data Angka dan Teks kompatibel.

Saat anda menggunakan operator UNION, Anda juga bisa menentukan apakah hasil kueri harus menyertakan baris duplikat, jika ada, dengan menggunakan kata kunci ALL.

Sintaks SQL dasar untuk kueri gabungan yang menggabungkan dua pernyataan SELECT adalah sebagai berikut:

SELECT field_1FROM table_1UNION [ALL]SELECT field_aFROM table_a;

Misalnya, anggaplah Anda memiliki tabel bernama Produk dan tabel lain yang bernama Layanan. Kedua tabel memiliki bidang yang berisi nama produk atau layanan, ketersediaan harga, garansi atau jaminan, dan apakah Anda menawarkan produk atau layanan secara eksklusif. Meskipun tabel Produk menyimpan informasi garansi, dan tabel Layanan menyimpan informasi jaminan, informasi dasarnya sama (apakah produk atau layanan tertentu menyertakan janji kualitas). Anda bisa menggunakan kueri gabungan, seperti berikut ini, untuk menggabungkan empat bidang dari dua tabel:

SELECT name, price, warranty_available, exclusive_offerFROM ProductsUNION ALLSELECT name, price, guarantee_available, exclusive_offerFROM Services;

Untuk informasi selengkapnya tentang cara menggabungkan pernyataan SELECT dengan menggunakan operator UNION, lihat Menggabungkan hasil beberapa kueri pemilihan menggunakan kueri gabungan.

Atas Halaman

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.