Pada Chapter 4, kita akan menggunakan skema database relasional yang ditampilkan pada
Gambar 1.2.
Contoh 4.1 (Memilih kolom pada tabel Barang) Lakukan proses pengambilan data
id_barang, nama, dan varian pada tabel Barang !
query:
output:
query:
SELECT *
FROM Barang;
output:
Catatan: tanda * merupakan klausa untuk memilih seluruh kolom dalam tabel
Peritah SELECT DISTINCT digunakan untuk memperoleh nilai unik pada sebuah tabel. Format
umum query yang digunakan ditampilkan pada Gambar 4.3.
Contoh 4.3 (Mencari jumlah pembeli yang telah melakukan pembelian) Hitung jumlah
pembeli yang telah melakukan pembelian menggunakan tabel Pesanan!
query:
Catatan : klausa AS digunakan untuk memberikan alias (nama baru) pada nama tabel atau
nama kolom.
output:
Total
50
Catatan : untuk jenis data berupa teks berikan tanda kurung pada nilainya dan untuk jenis
data tanggal beri tanda “#” pada awal dan akhir karakternya
Contoh 4.4 (Mencari data pesanan dengan jumlah pesanan produk lebih besar dari 3)
Hitung jumlah pesanan dengan jumlah pesanan (qty) > 3!
query:
output:
Total
0
Klausa WHERE dapat dikombinasikan pula dengan operator AND, OR, dan NOT. Operator AND
dan OR digunakan untuk melakukan filter observasi berdasarkan satu atau dua kondisi :
Operator AND menampilkan baris jika dua buah kondisi yang dibatasi oleh AND bernilai
benar.
Operator OR menampilkan baris jika salah satu dari dua kondisi yang dibatasi oleh OR
bernilai benar.
Operator NOT digunakan untuk menampilkan baris jika satu kondisi bernilai tidak benar.
Contoh 4.5 (Mencari jumlah pesanan produk dengan kode barang tertentu) Hitung
jumlah pesanan dengan jumlah pesanan (qty) >= 2 dan jenis barang yang dipesan adalah
makaroni rasa-rasa dengan varian original (Ma0)!
query:
SELECT COUNT(*)
FROM (SELECT id_barang, qty
FROM Pesanan)
WHERE qty >=2 AND id_barang = "Ma0";
output:
Total
5166
Filter karakter dapat dilakukan dengan menggunakan opertor LIKE + pola teks yang dicari.
Pola teks yang digunakan biasanya akan ditulis bersamaan dengan wildcard characters yang
ditunjukkan pada Tabel 4.1.
Nilai NULL merupakan sel pada kolom yang dibiarkan kosong pada proses pencatatan.
Terdapat dua buah klausa yang digunakan untuk melakukan filter nilai NULL, yaitu: IS NOT
NULL (filter baris yang tidak mengandung nilai NULL) dan IS NULL (filter baris yang
mengandung nilai NULL). Berikut adalah contoh penerapan menggunakan klausa WHERE:
WHERE email IS NOT NULL : lakukan filter pada kolom email untuk memperoleh
observasi bukan NULL.
WHERE email IS NULL : lakukan filter pada kolom email untuk memperoleh
observasi bernilai NULL.
4.3.5 Operator IN
Operator IN memungkinkan kita untuk melakukan filter terhadap beberapa nilai. Format
umum sintaks yang digunakan ditampilkan pada Gambar 4.5.
Gambar 4.5: Format operasi melakukan filter data pada beberapa nilai.
Contoh 4.6 (Mencari jumlah pesanan produk dengan kode barang tertentu 2) Hitung
jumlah pesanan produk dengan kode barang “Ma0”, “Ma2”, dan “Ma4”!
query:
output:
Total
82257
Operator BETWEEN digunakan untuk melakukan filter pada rentang nilai. Format umum
sintaks ditampilkan pada Gambar 4.6.
Gambar 4.6: Format operasi melakukan filter data menggunakan rentang nilai.
Contoh 4.7 (Mencari jumlah pesanan produk pada rentang tanggal tertentu) Hitung
jumlah pesanan produk pada tanggal 1/1/2019 sampai 2/2/2019! (format tanggal
bulan/hari/tahun)
query:
output:
Total
12536
query:
output:
4.4.2 Fungsi
Contoh 4.9 (Memecah tanggal ke dalam kolm masing-masing) Lakukan operasi untuk
memperoleh bulan dan tahun transaksi berlangsung!
query:
output:
Fungsi-fungsi yang dapat digunakan untuk memperoleh aggregat nilai antara lain:
Contoh 4.10 (Menghitung jumlah pembelian suatu konsumen terhadap sebuah produk)
Lakukan perhitungan untuk memperoleh nilai total pembelian konsumen terhadap produk
makaroni rasa-rasa original (id_barang = “Ma0”) dan tentutan konsumen mana yang
melakukan total pembelian tertinggi!
query:
Terdapat beberapa jenis join yang ada pada SQL, antara lain:
INNER JOIN : melakukan join hanya pada observasi dengan elemen kunci yang sama-
sama ada pada kedua tabel.
LEFT JOIN : menggabungkan seluruh baris pada tabel kiri dan sebagian baris pada
tabel kanan yang elemen kuncinya cocok dengan tabel kiri
RIGHT JOIN : kebalikan dari LEFT JOIN
FULL JOIN : menggabungkan seluruh observasi pada kedua tabel melalui kolom
elemen kunci.
Contoh 4.11 (Menggabungkan tabel barang dan pesanan) Gabungkan tabel barang dan
pesanan menggunakan elemen kunci id_barang dan pada hasil join hanya tampilkan kolom
id_barang, nama, varian, dan tgl_pesan!
query:
output:
id_barang nama varian
Ma0 Makaroni rasa-rasa original
Ma0 Makaroni rasa-rasa original
dst..
Buatlah sebuah query untuk menghitung usia konsumen! (gunakan fungsi DATE() untuk
memperoleh tanggal hari ini dan fungsi DATEDIFF() untuk menghitung selisih tanggal)
query:
output:
Buatlah sebuah query yang dapat digunakan untuk menentukan tanggal transaksi pertama dan
terakhir konsumen!
query:
output:
Buatlah sebuah query untuk menghitung total penjualan masing-masing produk tiap bulan!
(gunakan fungsi DATEPART() untuk memisahkan hari, bulan, dan tahun)
query:
output:
query:
output: