2. 01 Logical Operator OR,AND
Agenda Style
02 Operator Like, Not Like
03 Operator between, not between
04 Operator IN, NOT IN
Get a modern PowerPoint Presentation that is beautifully designed.
4. SQL COMPARISON
Query yang tersedia di sql yang digunakan untuk
meningkatkan kemampuan pencarian kueri sql.
Contoh : "IN", “BETWEEN...AND", "IS NULL", "LIKE".
5. LOGICAL OPERATORS
(AND, OR, AND NOT)
• AND : Menggabungkan dua kondisi atau lebih, dan
mengembalikan hasil hanya jika semua kondisi
benar.
• ATAU : Menggabungkan dua kondisi atau lebih,
dan mengembalikan hasil saat salah satu kondisi
benar.
• NOT : Meniadakan ekspresi yang mengikutinya.
6. Contoh
AND Operator
SELECT emp_last_name "Last Name",
emp_first_name "First Name",
emp_gender "Gender"
FROM employee
WHERE emp_gender = 'F' AND emp_last_name > ‘E'
ORDER BY emp_last_name;
Output :
Last Name First Name Gender
---------- ------------- ------
Joyner Suzanne F
Markis Marcia F
Prescott Sherri F
7. Contoh
AND Operator
SELECT emp_last_name "Last Name",
emp_first_name "First Name",
emp_gender "Gender"
FROM employee
WHERE emp_gender = 'F' OR emp_last_name > 'M'
ORDER BY emp_last_name;
Last Name First Name Gender
--------------- --------------- ------
Joyner Suzanne F
Markis Marcia F
Prescott Sherri F
Zhu Waiman M
8. Contoh
NOT Operator
SELECT emp_last_name "Last Name",
emp_first_name "First Name",
emp_dpt_number "Dept"
FROM employee
WHERE NOT emp_dpt_number = 7
ORDER BY emp_last_name;
Last Name First Name Dept
--------------- --------------- -----
Amin Hyder 3
Bordoloi Bijoy 1
Joyner Suzanne 3
Markis Marcia 3
9. Menggabungkan Operator OR dan AND
• Ketika operator AND digabungkan dengan OR, server
akan mengevaluasi kondisi yang terhubung dengan
AND terlebih dahulu sebelum kondisi apapun yang
terhubung dengan OR.
• Tanda kurung harus digunakan untuk memaksa urutan
operasi.
10. Contoh
Combining
Operator
SELECT emp_last_name "Last Name",
emp_first_name "First Name",
emp_dpt_number "Dept", emp_gender "Gender"
FROM employee
WHERE emp_last_name > 'E' AND emp_gender = 'F‘
OR emp_dpt_number = 1
ORDER BY emp_last_name;
Last Name First Name Dept Gender
--------------- -------------- ----- -----
-
Bordoloi Bijoy 1 M
Joyner Suzanne 3 F
Markis Marcia 3 F
Prescott Sherri 7 F
11. Contoh
Combining
Operator
SELECT emp_last_name "Last Name",
emp_first_name "First Name",
emp_dpt_number "Dept", emp_gender "Gender"
FROM employee
WHERE emp_last_name > 'E' AND
(emp_gender = 'F' OR emp_dpt_number = 1)
ORDER BY emp_last_name;
Last Name First Name Dept Gender
--------------- --------------- ----- ------
Joyner Suzanne 3 F
Markis Marcia 3 F
Prescott Sherri 7 F
13. SQL IN dan NOT IN
• Ada dua operator yang dirancang untuk menentukan
apakah data yang disimpan dalam kolom tabel ada
atau tidak dalam daftar atau kumpulan record.
• Operator yang digunakan adalah IN dan NOT IN.
• Operator ini sangat menyederhanakan dalam menulis
kueri yang mungkin memerlukan sejumlah besar
operator logika OR atau penggunaan operator logika
NOT yang berat.
14. Contoh
IN
Operator
SELECT emp_last_name "Last Name", emp_first_name "Fir
st Name",
emp_salary "Salary"
FROM employee
WHERE emp_salary = 43000 OR emp_salary = 30000 OR
emp_salary = 25000
ORDER BY emp_salary;
Last Name First Name Salary
--------------- --------------- -----------
Markis Marcia $25,000.00
Amin Hyder $25,000.00
Prescott Sherri $25,000.00
Bock Douglas $30,000.00
Joyner Suzanne $43,000.00
Zhu Waiman $43,000.00
6 rows selected.
15. Contoh
IN
Operator
SELECT emp_last_name "Last Name", emp_first_name "Fir
st Name",
emp_salary "Salary"
FROM employee
WHERE emp_salary IN (43000, 30000, 25000)
ORDER BY emp_salary;
Last Name First Name Salary
--------------- --------------- -----------
Markis Marcia $25,000.00
Amin Hyder $25,000.00
Prescott Sherri $25,000.00
Bock Douglas $30,000.00
Joyner Suzanne $43,000.00
Zhu Waiman $43,000.00
6 rows selected.
16. Contoh
IN
Operator
SELECT emp_last_name "Last Name", emp_first_name "Fir
st Name",
emp_city "City"
FROM employee
WHERE emp_city IN ('Marina', 'Edwardsville', 'St. Lou
is')
ORDER BY emp_city;
Last Name First Name City
--------------- --------------- -------------
Bordoloi Bijoy Edwardsville
Prescott Sherri Edwardsville
Joyner Suzanne Marina
Amin Hyder Marina
Zhu Waiman St. Louis
Bock Douglas St. Louis
17. Penggunaan NOT IN
• NOT dapat mendahului IN untuk membentuk negatif.
• Untuk mendapatkan daftar pegawai yang tidak
mendapatkan tiga angka gaji yang tertera dalam daftar
SELECT emp_last_name "Last Name", emp_first_name "First
Name",
emp_salary "Salary"
FROM employee
WHERE emp_salary NOT IN (43000, 30000, 25000)
ORDER BY emp_salary;
Last Name First Name Salary
--------------- --------------- -----------
Joshi Dinesh $38,000.00
Bordoloi Bijoy $55,000.00
19. RANGES
(BETWEEN AND NOT BETWEEN)
1. Terdapat dua operator, BETWEEN dan NOT BETWEEN yang
dapat dengan mudah menampilkan rentang nilai dalam query.
2. Ini menghilangkan kebutuhan untuk menggunakan klausa
WHERE yang lebih kompleks yang melibatkan penggunaan
operator logika AND.
20. Contoh
AND
Operator
• Kueri berikut menggunakan operator logika AND
SELECT emp_last_name "Last Name", emp_first_name "Fi
rst Name",
emp_salary "Salary"
FROM employee
WHERE emp_salary >= 25000 AND emp_salary <= 40000
ORDER BY emp_salary;
Last Name First Name Salary
-------------- --------------- -----------
Markis Marcia $25,000.00
Amin Hyder $25,000.00
Prescott Sherri $25,000.00
Bock Douglas $30,000.00
Joshi Dinesh $38,000.00
21. Contoh
BETWEEN
Operator
• Kueri berikut menggunakan operator logika
BETWEEN
SELECT emp_last_name "Last Name", emp_first_name "Fi
rst Name",
emp_salary "Salary"
FROM employee
WHERE emp_salary BETWEEN 25000 AND 40000
ORDER BY emp_salary;
Last Name First Name Salary
--------------- --------------- -----------
Markis Marcia $25,000.00
Amin Hyder $25,000.00
Prescott Sherri $25,000.00
Bock Douglas $30,000.00
Joshi Dinesh $38,000.00
22. Contoh
NOT BETWEEN
Operator
• Kueri berikut menggunakan operator logika NOT
BETWEEN
SELECT emp_last_name "Last Name", emp_salary "Salary
"
FROM employee
WHERE emp_salary NOT BETWEEN 28000 AND 50000
ORDER BY emp_salary;
Last Name Salary
--------------- -----------
Markis $25,000.00
Amin $25,000.00
Prescott $25,000.00
Bordoloi $55,000.00
24. LIKE AND NOT LIKE
• Operator LIKE dan NOT LIKE dapat digunakan untuk mencari
baris data yang berisi string karakter yang tidak lengkap atau
sebagian dalam kolom data.
• Permintaan berikutnya mencari tabel karyawan untuk nama
karyawan yang dimulai dengan karakter 'Bo'.
• Pencarian yang memperhatikan huruf besar-kecil artinya 'Bo' tidak
sama dengan 'BO'.
25. Contoh
LIKE
Operator
• Kueri berikut menggunakan operator logika LIKE
SELECT emp_last_name "Last Name", emp_first_name "Fi
rst Name"
FROM employee
WHERE upper(emp_last_name) LIKE ‘BO%';
Last Name First Name
------------- -------------
Bordoloi Bijoy
Bock Douglas
26. Penggunaan Operator Pada Like
Simbol Makna
% (persen) setiap string nol
atau lebih karakter
_ (underscore) (garis bawah) setiap karakter tunggal
[ ] (brackets) (tanda kurung) setiap karakter tunggal
dalam rentang tertentu
seperti 'a' hingga 'd', termasuk [a-d] ata
u serangkaian karakter seperti [aeiouy]
[^] (not brackets) (bukan tanda kurung) karakter
tunggal apa pun yang tidak berada dala
m rentang atau set yang
ditentukan. (mis., [^a-f] )
Oracle hanya mendukung % dan _, sedangkan SQL Server
dan Sybase mendukung keempatnya.
27. LIKE
• LIKE '%inger' akan mencari setiap nama yang diakhiri dengan
'inger' (Ringer, Stringer).
• LIKE '%en%' akan mencari setiap nama yang memiliki huruf 'en'
pada namanya (Bennet, Green, McBadden).
• LIKE '_heryl' akan mencari setiap nama enam huruf yang diakhiri
dengan 'heryl' (Cheryl). Perhatikan bagaimana ini berbeda dari
'%heryl' yang akan mengembalikan nama yang terdiri dari enam
karakter atau lebih.
28. NOT LIKE
• NOT LIKE '%inger' akan mencari setiap nama yang diakhiri
dengan 'inger' (Ringer, Stringer).
• NOT LIKE '%en%' akan mencari setiap nama yang memiliki huruf
'en' pada namanya (Bennet, Green, McBadden).
• NOT LIKE '_heryl' akan mencari setiap nama enam huruf yang
diakhiri dengan 'heryl' (Cheryl). Perhatikan bagaimana ini berbeda
dari '%heryl' yang akan mengembalikan nama yang terdiri dari
enam karakter atau lebih.
30. Introduction
• Nilai NULL tidak identik dengan "nol" (nilai numerik)
atau "kosong" (nilai karakter).
• Nilai NULL memungkinkan pengguna untuk
membedakan antara entri nol/kosong yang
disengaja dan non-entri data.
SELECT *
FROM assignment
WHERE work_hours IS NULL;
WORK_EMP_ WORK_PRO_NUMBER WORK_HOURS
--------- --------------- ----------
999444444 1
999666666 20
31. Contoh
null
Operator
SELECT *
FROM assignment
WHERE work_hours = 0;
no rows selected
Kueri tidak mengembalikan tabel hasil karena tidak ada baris
dalam tabel tugas yang memiliki nilai nol untuk jam_kerja.
Dengan demikian, Anda dapat melihat bahwa nol (0) adalah
sebuah nilai, bukan "nilai yang tidak diketahui".