Selamat siang kawan, have a nice day ya. Hehe..
Okelah, tanpa basa-basi lagi langsung aja kita menuju
ke evaluasi perbandingan antara MySQL dan Postgre yang tentunya membahas tugas
praktikum yang minggu ini. Setelah minggu kemaren mendapat tugas evaluasi perbandingan
tentang relasi tabel antara kedua DBMS, sekarang gantian mengevaluasi tentang
operator dasar. Saat ane ngerjain menggunakan Postgre pada praktikum di lab
semua terasa berjalan baik-baik aja tuh, ya memang ada aslabnya yang bisa
ditanyain macem-macem. Hehe..
Lanjut lagi, baru kemudian minggu ini dapat lagi tugas
individu menggunakan MySQL. Awalnya sih, sama aja bentuk-bentuk querynya. Tapi
sampai REGEXP, EXCEPT, dan INTERCEPT muncul lah perbedaan. Lalu nyoba
browsing-browsing dan nanya temen-temen. Eh ternyata memang beda, itu terletak
pada strukturnya.
Dimulai dari yang REGEXP. Disini jika menggunakan
Postgre tinggal langsung aja pake tanda “ ~ “, itu sudah bisa dieksekusi
querynya. Lain ceritanya jika menggunakan MySQL, pada MySQL operator regexp
pake query REGEXP juga. Tidak akan bisa cukup dengan pake tanda “ ~ “, malah
akan terjadi error. Tapi untuk simbol-simbolnya kurang lebih sama. Berikut beberapa
contoh simbolnya yang sering digunakan.
Simbol
|
Keterangan
|
.
|
Mewakili
karakter apa saja
|
[ ]
|
Kumpulan
karakter. Misalkan [abc] akan cocok dengan ‘a’, ‘b’, atau ‘c’. Juga bisa
menggunakan jangauan, contohnya [a-z] akan cocok dengan seluruh huruf. [0-9]
akan cocok dengan seluruh angka.
|
*
|
Cocok
dengan 0 atau lebih karakter sebelumnya. Misalkan ‘a*’ berarti akan cocok
dengan seluruh kata yang mengandung 0 atau lebih a.
|
^
|
Menandakan
awalan dari sebuah kata
|
$
|
Menandakan
akhiran dari sebuah kata
|
Kemudian berlanjut ke EXCEPT. Pada Postgre, dengan
mengetik EXCEPT pada SQLshell bisa langsung dieksekusi querynya. Berbeda dengan
MySQL, perintah tersebut tidak bisa dieksekusi justru terjadi error karena
struktur query tersebut tidak ada pada MySQL. Sehingga digunakanlah operator
NOT IN dengan menambahkan juga operator kondisi WHERE. Jadi, querynya seperti berikut.
SELECT namakolom1 FROM
namatabel1 WHERE namakolom1 NOT IN (SELECT namakolom2 FROM namatabel2);
Yang terakhir
INTERSECT. Sama dengan EXCEPT, perintah ini berlaku di Postgre tetapi tidak
berlaku di MySQL. querynya hampir sama juga dengan EXCEPT, tinggal
menghilangkan NOT nya saja. Berikut querynya.
SELECT namakolom1 FROM
namatabel1 WHERE namakolom1 IN (SELECT namakolom2 FROM namatabel2);
Dari sini ane juga
menemukan kekurangan dari MySQL yang menjadi kelebihan dari Postgre. Tapi ini
menurut ane sendiri, yang mungkin berbeda dengan pengguna yang lain. Jadi kekurangan
dan kelebihannya terletak pada kesederhanaan query. Pada MySQL harus mengetik
REGEXP pada query REGEXP dan menggunakan operator IN atau NOT IN disertai
kondisi pada INTERCEPT atau EXCEPT, itu yang menurut ane terasa rumit. Beda
halnya Postgre yang terasa sangat simpel, cukup mengetik tanda “ ~ “ pada query
REGEXP dan hanya cukup mengetik INTERCEPT atau EXCEPT itu saja sudah bisa
langsung jalan.
Hmm, sekilas itulah
evaluasi perbandingan minggu ini yang bisa ane jelasin. Melanjutkan evaluasi
minggu lalu ternyata terbukti kan, tidak selamanya yang ada pada Postgre itu
sama dengan yang ada pada MySQL. Untuk selanjutnya kita bahas lagi pada
kesempatan berikutnya. Apabila ada kurangnya mohon maaf. Semoga bermanfaat and
finally thanks. See yaa..:)
Tidak ada komentar:
Posting Komentar