![]() 49
SELECT COUNT (*)
FROM employees
WHERE salary BETWEEN 2000 AND 4000;
Gambar 2. 35 Query untuk mengambil jumlah karyawan yang
gajinya antara 2000 dan 4000
SELECT COUNT (*)
FROM employees
WHERE salary>4000;
Gambar 2. 36 Query untuk mengambil jumlah karyawan yang
gajinya lebih besar dari 4000
3 Query tersebut dapat diefisienkan dengan mengubah
query tersebut
menjadi sebuah single query dimana setiap hasil yang ingin didapatkan
ditaruh
didalam sebuah
kolom dengan
menggunakan
CASE
untuk
kondisinya.
Gambar
2.37
adalah
contoh
penggunaan
CASE
untuk
menghilangkan multiple scan tersebut :
SELECT COUNT
(CASE WHEN salary < 2000
THEN ¹ ELSE null END) count1,
COUNT (CASE WHEN salary BETWEEN 2001 AND 4000
THEN ¹ ELSE null END) count2,
COUNT (CASE WHEN salary > 4000
THEN ¹ ELSE null END) count3
FROM employees;
Gambar 2. 37 Pengunaan CASE untuk menggabungkan
MULTISCAN
-
Gunakan DML dengan klausa RETURNING
Gunakanlah perintah INSERT, UPDATE, atau DELETE
RETURNING
untuk
mengambil
dan
mengubah
data
dengan
sekali
panggil.
Teknik
ini
|