3.1 Mbandhingake nilai: <, >, =, <>
Salah sawijining tembung kunci sing paling umum digunakake nalika nulis pitakon SQL yaiku WHERE
. Iku karo bantuan sing kita marang MySQL kang baris tabel kita arep kanggo nyaring (pilih).
Sawise tembung kunci, WHERE
sampeyan bisa nulis kahanan sing rumit lan angel. Dadi, operasi apa sing bisa ngemot kahanan iki?
Operator | Katrangan | Tuladha |
---|---|---|
< | Kurang | gaji <40000 |
> | liyane | gaji > 100000 |
<= | Kurang utawa padha | umur <= 25 |
>= | Luwih utawa padha | umur >= 18 |
= | padha karo | pekerjaan = 'Programmer' |
<>,!= | Ora padha | Taun(tanggal_gabungan) != 2015 |
Ora kaya basa Jawa, kanggo kesetaraan sing ketat, siji karakter padha digunakake ing kene, lan ora loro .
Yen sampeyan pengin mriksa manawa nilai kasebut ora padha, mula iki bisa ditindakake kanthi rong cara: pendekatan <>
pisanan !=
digunakake ing basa kayata Pascal, sing nomer loro khas kanggo basa kayata C ++ lan Jawa.
Kanggo assignment ing SQL, digunakake :=
minangka ing Pascal, nanging assignment dhewe digunakake arang banget.
Ayo nulis pitakon ing ngendi kita nampilake kabeh karyawan sing ora direkrut ing 2015.
SELECT * FROM employee WHERE YEAR(join_date) != 2015
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
1 | Iwan Iwan | Programmer | 100.000 | 25 | 30-06-2012 |
2 | Petrov Petruk | Programmer | 80.000 | 23 | 2013-08-12 |
3 | Ivanov Sergey | Tester | 40.000 | telung puluh | 2014-01-01 |
6 | Vaska | kucing | 1.000 | 3 | 2018-01-01 |
3.2 Operasi Logika AND, OR, NOT
Sampeyan uga bisa WHERE
nggunakake operasi logis AND
, OR
lan NOT
. Lan padha ditulis persis kaya aku diterangake kene. Ora ana &&
, ||
utawa!
Ayo nulis pitakon SQL ing ngendi kita milih karyawan sing umure luwih saka 20 taun lan entuk gaji kurang saka 50K.
SELECT * FROM employee WHERE age > 20 AND salary < 50000
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
3 | Ivanov Sergey | Tester | 40.000 | telung puluh | 2014-01-01 |
5 | Kirienko Anastasia | Kantor manager | 40.000 | 25 | 10-10-2015 |
Gampang banget. Ayo nulis pitakon ing ngendi kita milih karyawan sing nampa luwih saka 100K lan ora dadi direktur:
SELECT * FROM employee WHERE salary >= 100000 AND NOT occupation = 'Директор'
Ing kene kita khusus !=
nggunakake operator tinimbang simbol NOT
.
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
1 | Iwan Iwan | Programmer | 100.000 | 25 | 30-06-2012 |
3.3 ANTARA: sawetara nilai
Uga ing SQL ana operator khusus BETWEEN
sing bisa mriksa apa variabel dumunung ing antarane rong nilai. Operator iki digunakake ing ekspresi boolean. Bentuk umum saka operator kasebut yaiku:
variable BETWEEN bottom line AND top_bound
Ing kasus iki, ora kaya basa Jawa, wates ngisor lan ndhuwur kalebu ing interval sing diidini.
Ayo nulis conto ing ngendi kita milih kabeh karyawan kanthi gaji saka 40K nganti 100K. Panjaluk kasebut bakal katon kaya:
SELECT * FROM employee WHERE salary BETWEEN 40000 AND 100000
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
1 | Iwan Iwan | Programmer | 100.000 | 25 | 30-06-2012 |
2 | Petrov Petruk | Programmer | 80.000 | 23 | 2013-08-12 |
3 | Ivanov Sergey | Tester | 40.000 | telung puluh | 2014-01-01 |
5 | Kirienko Anastasia | Kantor manager | 40.000 | 25 | 10-10-2015 |
Operator BETWEEN
ndhukung ora mung jinis numerik, nanging uga tanggal lan malah jinis senar . Ing kasus nggarap senar, urutan leksikografi digunakake: aaba sadurunge aabb
3.4 IN: dhaptar nilai
Kajaba iku, SQL duwe operator khusus IN
sing sampeyan bisa mriksa manawa ana variabel ing dhaptar kasebut. Operator iki digunakake ing ekspresi boolean. Bentuk umum saka operator kasebut yaiku:
variable IN (value 1 , value 2 , ... value N)
Ayo nulis pitakon ing ngendi kita milih karyawan sing umure 20, 25 utawa 30 taun. Panjaluk kasebut bakal katon kaya:
SELECT * FROM employee WHERE age IN (20, 25, 30)
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
1 | Iwan Iwan | Programmer | 100.000 | 25 | 30-06-2012 |
3 | Ivanov Sergey | Tester | 40.000 | telung puluh | 2014-01-01 |
5 | Kirienko Anastasia | Kantor manager | 40.000 | 25 | 10-10-2015 |
Lan saiki ayo nulis pitakon, ing ngendi, sebaliknya, kita milih karyawan sing umure не
20, 25 utawa 30. Pitakonan bakal katon kaya:
SELECT * FROM employee WHERE age NOT IN (20, 25, 30)
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
2 | Petrov Petruk | Programmer | 80.000 | 23 | 2013-08-12 |
4 | Rabinovich Moisha | direktur | 200.000 | 35 | 2015-05-12 |
6 | Vaska | kucing | 1.000 | 3 | 2018-01-01 |
Kabeh kerjane kaya sing dikarepake. Kaendahan.
3.5 LIKE: pola string
Lan pungkasanipun, operator penting liyane lan asring banget digunakake - LIKE
. Iki digunakake nalika mbandhingake strings. Bisa digunakake kanggo nyetel pola senar. Operator iki digunakake ing ekspresi boolean. Bentuk umum saka operator kasebut yaiku:
variable LIKE 'sample'
Karakter khusus bisa digunakake ing pola: %
lan _
.
- Underscore tegese karakter apa wae, mesthi 1 pc.
- Persen tegese karakter apa wae lan kaping pirang-pirang (kalebu kaping 0).
Ayo nulis pitakon sing bakal milih kabeh wong sing jenenge diwiwiti kanthi huruf "I". Panjaluk kasebut bakal katon kaya:
SELECT * FROM employee WHERE name LIKE 'И%'
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
1 | Iwan Iwan | Programmer | 100.000 | 25 | 30-06-2012 |
3 | Ivanov Sergey | Tester | 40.000 | telung puluh | 2014-01-01 |
Saiki ayo gawe rumit tugas - jeneng kudu ngemot "o" lan jeneng kasebut kudu diakhiri "a". Panjaluk kasebut bakal katon kaya:
SELECT * FROM employee WHERE name LIKE '%o%a'
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
4 | Rabinovich Moisha | direktur | 200.000 | 35 | 2015-05-12 |
Oke, ayo dadi luwih angel. Ayo nyaring kabeh karyawan sing umure diwiwiti kanthi nomer "3". Panjaluk kasebut bakal katon kaya:
SELECT * FROM employee WHERE age LIKE '3%'
Lan kita entuk asil pitakon ing ngisor iki:
id | jeneng | pendhudhukan | gaji | umur | join_date |
---|---|---|---|---|---|
3 | Ivanov Sergey | Tester | 40.000 | telung puluh | 2014-01-01 |
4 | Rabinovich Moisha | direktur | 200.000 | 35 | 2015-05-12 |
6 | Vaska | kucing | 1.000 | 3 | 2018-01-01 |
Miturut cara, kolom umur kita jinis int
, supaya LIKE
ora mung nganggo senar. Apa ora bisa nanging bungah.
GO TO FULL VERSION