Jika kueri Anda tidak bekerja cukup keras, menambahkan beberapa pernyataan dasar SQL dapat membantu memfokuskan hasil Anda. Mari kita lihat beberapa tipe pernyataan SQL dan klausul atau bagian yang mungkin Anda edit untuk mendapatkan hasil yang Anda inginkan.
Catatan: Artikel ini tidak berlaku untuk Access web app, jenis database yang didesain dengan Access dan diterbitkan secara online.
Di artikel ini
Membuat pernyataan Pilih
Pernyataan pemilihan SQL memiliki dua hingga tiga klausa. Klausul SELECT memberi tahu database tempat mencari data dan memintanya untuk mengembalikan hasil tertentu.
Catatan: Pernyataan SELECT selalu diakhiri dengan titik koma (;) baik di akhir klausul terakhir maupun pada garis itu sendiri di akhir pernyataan SQL.
Pernyataan pilih berikut ini meminta Access untuk mendapatkan informasi dari kolom Alamat Email dan Perusahaan, dari tabel Kontak, khususnya tempatnya menemukan "Seattle" di kolom Kota.
Kueri di atas memiliki tiga klausa SELECT, FROM, dan WHERE.
1. Klausul SELECT mencantumkan kolom yang berisi data yang ingin Anda gunakan dan memiliki operator (SELECT) diikuti dengan dua pengidentifikasi (Alamat Email dan Perusahaan). Jika pengidentifikasi memiliki spasi atau karakter khusus (seperti "Alamat Email"), masukkan pengidentifikasi dalam tanda kurung siku.
2. Klausul FROM mengidentifikasi tabel sumber. Dalam contoh ini, operator memiliki operator (FROM) diikuti dengan pengidentifikasi (Kontak).
3. Klausul WHERE adalah klausul opsional. Contoh memiliki operator (WHERE) diikuti dengan ekspresi (City="Seattle").
Untuk informasi selengkapnya tentang kueri pemilihan, lihat membuat kueri pemilihan sederhana.
Berikut adalah daftar klausul SQL umum:
Klausul SQL |
Fungsinya |
Diperlukan ? |
SELECT |
Mencantumkan bidang yang berisi data yang diminati. |
Ya |
FROM |
Mencantumkan tabel yang berisi bidang yang tercantum dalam klausul SELECT. |
Ya |
WHERE |
Menentukan kriteria bidang yang harus dipenuhi oleh setiap rekaman untuk disertakan dalam hasil. |
Nomor |
PESAN BERDASARKAN |
Menentukan cara mengurutkan hasil. |
Nomor |
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 |
Setiap klausul SQL terdiri dari ketentuan. Berikut adalah daftar beberapa istilah SQL umum.
Istilah SQL |
Definisi |
Contoh |
Pengenal |
Nama yang Anda gunakan untuk mengidentifikasi objek database, seperti nama kolom. |
[Alamat Email] dan Perusahaan |
operator |
Kata kunci yang mewakili tindakan atau mengubah tindakan. |
AS |
konstanta |
Nilai yang tidak berubah, seperti angka atau NULL. |
42 |
ekspresi |
Kombinasi pengidentifikasi, operator, konstanta, dan fungsi yang mengevaluasi ke satu nilai. |
>= Produk. [Harga Satuan] |
Mengustomisasi klausul SELECT
Mengustomisasi |
Contoh |
Untuk melihat nilai yang berbeda saja. Gunakan kata kunci DISTINCT dalam klausul SELECT Anda. |
Misalnya, jika pelanggan Anda berasal dari beberapa kantor cabang yang berbeda dan beberapa memiliki nomor telepon yang sama dan Anda hanya ingin melihat nomor telepon yang tercantum sekali, klausul SELECT Anda akan seperti ini:
|
Untuk mengubah cara pengidentifikasi muncul dalam tampilan lembar data untuk meningkatkan keterbacaan. Gunakan operator AS (Kata kunci yang mewakili tindakan atau mengubah tindakan) dengan alias bidang dalam klausul SELECT Anda. Alias bidang adalah nama yang Anda tetapkan ke bidang untuk membuat hasilnya lebih mudah dibaca. |
|
Mengustomisasi klausul FROM
Mengustomisasi |
Contoh |
Anda bisa menggunakan alias tabel atau nama lain yang Anda tetapkan ke tabel dalam pernyataan pemilihan. Alias tabel berguna jika nama tabel panjang, terutama ketika Anda memiliki beberapa bidang yang memiliki nama yang sama dari tabel yang berbeda. |
Untuk memilih data dari dua bidang, keduanya bernama ID, salah satunya berasal dari tabel tblTujuan dan yang lain dari tabel tblOrder:
Gunakan operator AS untuk menentukan alias tabel dalam klausul FROM:
Anda kemudian dapat menggunakan alias tabel ini dalam klausul SELECT, sebagai berikut:
|
Gunakan gabungan untuk menggabungkan pasangan rekaman dari dua sumber data menjadi satu hasil atau untuk menentukan apakah akan menyertakan rekaman dari salah satu tabel jika tidak ada rekaman terkait dalam tabel terkait. Menggabungkan tabel sehingga kueri menggabungkan item dari tabel, dan tidak termasuk item ketika tidak ada rekaman terkait di tabel lain |
Berikut adalah tampilan klausul FROM:
|
Tentang menggunakan gabungan
Ada dua tipe gabungan, gabungan dalam dan luar. Gabungan dalam lebih umum dalam kueri. Saat Anda menjalankan kueri dengan gabungan dalam, hasil hanya memperlihatkan item tersebut di mana nilai umum ada di kedua tabel yang digabungkan.
Gabungan luar menentukan apakah akan menyertakan data di mana tidak ada nilai umum. Gabungan luar bersifat terarah, yang berarti Anda bisa menentukan apakah akan menyertakan semua rekaman dari tabel pertama yang ditentukan dalam gabungan (disebut gabungan kiri), atau untuk menyertakan semua rekaman dari tabel kedua dalam gabungan (disebut gabungan kanan). Gabungan luar memiliki sintaks SQL berikut:
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2
Lihat informasi selengkapnya tentang menggunakan gabungan dalam kueri dalam Menggabungkan tabel dan kueri.
Mengustomisasi klausul WHERE
Klausul WHERE menyertakan kriteria yang membantu membatasi jumlah item yang dikembalikan dalam kueri. Lihat contoh kriteria kueri dan cara kerjanya.
Contoh bagaimana Anda bisa mengkustomisasi klausul WHERE dasar adalah membatasi hasil kueri; Misalkan Anda ingin menemukan nomor telepon pelanggan, dan hanya dapat mengingat nama belakangnya sebagai Bagel. Dalam contoh ini, nama belakang disimpan dalam bidang NamaBelakang, sehingga sintaks SQL adalah:
WHERE [LastName]='Bagel'
Gunakan klausul WHERE juga untuk menggabungkan sumber data untuk kolom yang memiliki data yang cocok, tetapi tipe data yang berbeda. Ini sangat berguna karena Anda tidak bisa membuat gabungan di antara bidang yang memiliki tipe data yang berbeda. Gunakan satu bidang sebagai kriteria untuk bidang lainnya, dengan kata kunci LIKE . Misalnya, jika Anda ingin menggunakan data dari tabel Aset dan tabel Karyawan, hanya ketika tipe aset dalam bidang tipe aset tabel Aset memiliki angka 3 dalam bidang Kuantitas tabel Karyawan, berikut tampilan klausul WHERE Anda:
WHERE field1 LIKE field2
Penting: Anda tidak dapat menentukan kriteria untuk bidang yang digunakan dengan fungsi agregat dalam klausul WHERE. Sebagai gantinya, gunakan klausul HAVING untuk menentukan kriteria bagi bidang agregat.
Mengkustomisasi dengan operator UNION
Gunakan operator UNION saat Anda ingin melihat tampilan gabungan hasil dari beberapa kueri pemilihan serupa. Misalnya, jika database Anda memiliki tabel Produk dan tabel Layanan dan keduanya memiliki tiga bidang: penawaran eksklusif atau produk atau layanan, harga, garansi atau garansi. Meskipun tabel Produk menyimpan informasi garansi, dan tabel Layanan menyimpan informasi jaminan, informasi dasarnya sama. Anda bisa menggunakan kueri gabungan untuk menggabungkan tiga bidang dari dua tabel seperti ini:
SELECT name, price, warranty, exclusive_offer
FROM Products UNION ALL SELECT name, price, guarantee, exclusive_offer FROM Services;
Saat Anda menjalankan kueri, data dari setiap kumpulan bidang terkait digabungkan menjadi satu bidang output. Untuk menyertakan baris duplikat dalam hasil, gunakan operator ALL.
Catatan: Pernyataan Pilih harus memiliki jumlah bidang output yang sama, dalam urutan yang sama, dan dengan tipe data yang sama atau kompatibel. Untuk tujuan kueri gabungan, tipe data Angka dan Teks kompatibel.
Untuk informasi selengkapnya tentang kueri Gabungan, lihat menggunakan kueri gabungan untuk menampilkan hasil terpadu dari beberapa kueri.