Anda di halaman 1dari 23

Database Programming with

SQL
2-3
Operator Perbandingan

Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang.
Tujuan
• Pelajaran ini akan membahas tujuan berikut:
−Menerapkan operator perbandingan yang benar untuk
mendapatkan hasil yang diinginkan
−Menunjukkan penggunaan yang tepat dari ketentuan
BETWEEN, IN, dan LIKE untuk mendapatkan hasil yang
diinginkan
−Membedakan antara nol dan NULL, dengan pilihan terakhir
adalah tidak tersedia, tidak ditetapkan, tidak dikenal, atau
tidak berlaku
−Menjelaskan penggunaan ketentuan
perbandingan dan NULL

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 3
Tujuan
• Kita menggunakan perbandingan dalam percakapan
setiap hari tanpa benar-benar memikirkannya
−"Saya dapat menemui Anda ANTARA 10.00 dan 11.00."
−"Saya mencari celana jeans SEPERTI
yang Anda kenakan."
−"Jika saya tidak salah ingat, kursi terbaik
untuk menikmati konser adalah DI baris
100, 200, dan 300."

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 4
Tujuan
• Kebutuhan untuk mengekspresikan tipe perbandingan
ini juga terdapat di SQL
• Ketentuan perbandingan yang digunakan untuk
menemukan data di tabel memenuhi ketentuan
tertentu
• Dapat merumuskan klausa SELECT untuk
mengembalikan data tertentu adalah fitur yang baik
untuk SQL

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 5
Operator Perbandingan
• Anda telah familiar dengan operator perbandingan
seperti sama dengan (=), kurang dari (<), dan lebih
dari (>)
• SQL memiliki operator lain yang menambah
fungsionalitas untuk mengambil kumpulan data
tertentu
• Ini termasuk:
−BETWEEN…AND
−IN
−LIKE

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 6
BETWEEN...AND
• Operator BETWEEN...AND digunakan untuk memilih
dan menampilkan baris berdasarkan rentang nilai
• Ketika digunakan dengan klausa WHERE, ketentuan
BETWEEN...AND akan mengembalikan rentang nilai
dan inklusif batas bawah dan atas yang ditentukan

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 7
BETWEEN…AND
• Perlu diingat bahwa pada contoh dari database
Karyawan, nilai yang dikembalikan menyertakan nilai
batas bawah dan nilai batas atas
• Nilai yang ditentukan dengan ketentuan BETWEEN
dikatakan sebagai inklusif
• Perlu diingat juga bahwa nilai batas bawah harus
dicantumkan terlebih dulu LAST_NAME SALARY
SELECT last_name, salary
Zlotkey 10500
FROM employees
Abel 11000
WHERE salary BETWEEN 9000 AND 11000;
• Perlu diperhatikan bahwa output Hunold 9000

menyertakan nilai batas bawah dan batas atas

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 8
BETWEEN…AND
• Menggunakan BETWEEN...AND sama seperti
menggunakan ekspresi berikut:
WHERE salary >= 9000 AND salary <=11000;

• Kenyataannya, tidak ada manfaat pada kinerja dalam


menggunakan satu ekspresi pada satu sama lain
• Kita menggunakan BETWEEN...AND untuk
kesederhanaan dalam pembacaan kode

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 9
IN
• Ketentuan IN juga dikenal sebagai “ketentuan
keanggotaan”
• Ketentuan ini digunakan untuk menguji apakah nilai
ada DI DALAM serangkaian nilai yang ditentukan
• Misalnya, IN dapat digunakan untuk mengidentifikasi
siswa yang nomor identifikasinya 2349, 7354, atau
4333 atau orang yang kode panggilan telepon
internasionalnya adalah 1735, 82, atau 10
SELECT city, state_province, CITY STATE_PROVINCE COUNTRY_ID
country_id
FROM locations Toronto Ontario CA
WHERE country_id IN('UK', 'CA');
Oxford Oxford UK

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 10
IN
• Pada contoh ini, klausa WHERE juga ditulis sebagai
kumpulan ketentuan OR:
SELECT city, state_province, country_id
FROM locations
WHERE country_id IN('UK', 'CA');

WHERE country_id = 'UK' OR country_id = 'CA';

• Seperti BETWEEN...AND, ketentuan IN dapat ditulis


menggunakan sintaks seefisien mungkin

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 11
LIKE
• Pernahkah Anda berbelanja untuk mencari sesuatu yang
Anda lihat di majalah atau di televisi tetapi Anda tidak yakin
seperti apa barang tersebut sesungguhnya?
• Ini hampir sama dengan pencarian database
• Seorang manajer mungkin tahu bahwa nama belakang
karyawan dimulai dengan "S" tetapi tidak tahu nama
lengkap karyawan tersebut
• Untungnya, dalam SQL, ketentuan LIKE memungkinkan
Anda untuk memilih baris yang cocok dengan karakter,
tanggal, atau pola angka
• Dua simbol -- (%) dan garis bawah (_) -- memanggil
karakter wildcard, dapat digunakan untuk menyusun
string pencarian

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 12
LIKE
• Simbol persen (%) digunakan untuk mewakili urutan
nol atau karakter lainnya
• Simbol garis bawah (_) digunakan untuk mewakili
karakter tunggal
• Pada contoh yang ditampilkan di bawah, semua
karyaan dengan nama belakan yang diawali dengan
huruf apa pun diikuti dengan “o” kemudian diikuti
sejumlah huruf lain akan dikembalikan
LAST_NAME
SELECT last_name
FROM employees Kochhar
WHERE last_name LIKE '_o%'; Lorentz
Mourgos

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 13
LIKE
SELECT last_name
FROM employees
WHERE last_name LIKE '_o%';

• Manakah dari nama belakang berikut yang dapat


dikembalikan dari kueri di atas?
−1. Sommersmith
−2. Oog
−3. Fong
−4. Mo

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 14
LIKE
• Satu opsi tambahan yang penting:
−Ketika Anda harus memiliki kecocokan yang tepat untuk string
yang memiliki karakter % atau _ di dalamnya, Anda perlu
menunjukkan bahwa % atau _ bukan wildcard tetapi
merupakan bagian dari item yang Anda cari

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 15
LIKE
• Opsi ESCAPE dapat digunakan untuk menunjukkan _
atau % adalah bagian dari nama, bukan nilai wildcard
• Misalnya, jika kita ingin mengambil JOB_ID dari tabel
karyawan yang berisi pattern _R, kita perlu
menggunakan karakter escape untuk mengatakan
bahwa kita mencari garis bawah, dan bukan satu
karakter acak
SELECT last_name, job_id
FROM EMPLOYEES
WHERE job_id LIKE '%\_R%' ESCAPE '\';
• Contoh ini menggunakan garis miring terbalik ‘\’
sebagai karakter escape, tapi karakter lainnya dapat
digunakan
DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 16
LIKE LAST_NAME JOB_ID
Abel SA_REP
• Tanpa opsi ESCAPE, Davies ST_CLERK
semua karyawan yang Ernst IT_PROG
memiliki R pada JOB_ID Fay MK_REP

akan dikembalikan Fay MK_REP

Grant SA_REP
SELECT last_name, job_id
FROM EMPLOYEES Higgins AC_MGR
WHERE job_id LIKE '%_R%' Hunold IT_PROG

King AD_PRES

Lorentz IT_PROG

Matos ST_CLERK

Rajs ST_CLERK

Taylor SA_REP

Vargas ST_CLERK

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 17
IS NULL, IS NOT NULL
• Ingat dengan NULL?
• NULL adalah nilai yang tidak tersedia, tidak ditetapkan,
tidak diketahui, atau tidak berlaku
• Dapat melakukan pengujian untuk NULL sering kali
lebih disukai
• Anda mungkin ingin mengetahui semua tanggal di
bulan Juni yang, saat ini, tidak memiliki konser yang
dijadwalkan
• Anda mungkin ingin mengetahui semua klien yang
tidak memiliki nomor telepon yang tercatat di database
Anda

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 18
IS NULL, IS NOT NULL
• Ketentuan IS NULL menguji data yang tidak tersedia,
tidak diterapkan, dan tidak diketahui
• IS NOT NULL menguji data yang tersedia di database
• Pada contoh di slide berikutnya, klausa WHERE tertulis
untuk mengambil semua nama belakang karyawan
yang tidak memiliki manajer

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 19
IS NULL, IS NOT NULL
SELECT last_name, manager_id LAST_NAME
FROM employees King
WHERE manager_id IS NULL;

• Karyawan bernama King adalah Presiden di


perusahaan, sehingga tidak memiliki manajer
LAST_NAME COMMISSION_PCT
SELECT last_name, commission_pct
Zlotkey .2
FROM employees
Abel .3
WHERE commission_pct IS NOT NULL;
Taylor .2
Grant .15

• IS NOT NULL mengembalikan baris yang memiliki nilai


pada kolom commission_pct

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 20
Terminologi
• Istilah-istilah penting yang digunakan dalam pelajaran
ini di antaranya:
−BETWEEN…AND
−IN
−LIKE
−IS NULL
−IS NOT NULL

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 21
Rangkuman
• Dalam pelajaran ini, Anda seharusnya telah
mempelajari cara:
−Menerapkan operator perbandingan yang benar untuk
mendapatkan hasil yang diinginkan
−Menunjukkan penggunaan yang tepat dari ketentuan
BETWEEN, IN, dan LIKE untuk mendapatkan hasil yang
diinginkan
−Membedakan antara nol dan NULL, dengan pilihan terakhir
adalah tidak tersedia, tidak
ditetapkan, tidak dikenal, atau
tidak berlaku
−Menjelaskan penggunaan
ketentuan perbandingan dan
NULL

DP 2-3
Operator Perbandingan Hak cipta © 2020, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. 22

Anda mungkin juga menyukai

  • DP 2 1 Id
    DP 2 1 Id
    Dokumen23 halaman
    DP 2 1 Id
    Fadillah Zakiyah
    Belum ada peringkat
  • DP 1 2 Id
    DP 1 2 Id
    Dokumen23 halaman
    DP 1 2 Id
    Fadillah Zakiyah
    Belum ada peringkat
  • DP 1 3 Id
    DP 1 3 Id
    Dokumen31 halaman
    DP 1 3 Id
    Fadillah Zakiyah
    Belum ada peringkat
  • DP 1 1 Id
    DP 1 1 Id
    Dokumen20 halaman
    DP 1 1 Id
    Fadillah Zakiyah
    Belum ada peringkat