Operator yang digunakan untuk mencari data berdasarkan pola tertentu adalah

Image by Karolina Grabowska on Pexels

Operator like pada mysql digunakan untuk menampilkan data dengan cara mencocokkan pola/pattern yang diinginkan, pola/pattern tersebut umumnya berupa karakter / string namun bisa juga berupa angka atau field dengan tipe data integer, pada operator like juga tersedia wildcard/karakter khusus untuk membantu pencarian dengan pola tertentu seperti mencari data dengan akhiran huruf t atau berawalan huruf b atau huruf yang berada di tengah-tengah kalimat, wildcard yang dapat digunakan diantaranya adalah sebagai berikut:

  • _ (underscore/garis bawah) : Mencocokkan satu karakter
  • % : Mencocokkan karakter dengan panjang tak terbatas, termasuk tanpa karakter

Berikut ini berbagai contoh cara menggunakan operator like pada MySQL:

mysql> select nama from mahasiswa where nama like "yeager"; +--------+ | nama | +--------+ | Yeager | +--------+ 1 row in set (0.00 sec) mysql> select id_mhs, nama, kota from mahasiswa where kota like "jakarta pusat"; +--------+-------------+---------------+ | id_mhs | nama | kota | +--------+-------------+---------------+ | 26 | A. A. Filda | Jakarta Pusat | | 27 | A. Abimana | Jakarta Pusat | | 28 | A. Adinda | Jakarta Pusat | | 66 | Zeke | Jakarta Pusat | | 67 | Eren | Jakarta Pusat | | 72 | Dewa Kipas | Jakarta Pusat | | 73 | Ryan | Jakarta Pusat | | 75 | Ryan | Jakarta Pusat | | 76 | Ryan | Jakarta Pusat | | 78 | Ryan | Jakarta Pusat | | 80 | Ryan | Jakarta Pusat | | 82 | Ryan | Jakarta Pusat | | 84 | Ackerman | Jakarta Pusat | | 86 | Erwin | Jakarta Pusat | +--------+-------------+---------------+ 14 rows in set (0.00 sec) mysql> select id_mhs, nama from mahasiswa where id_mhs like "30"; +--------+------------+ | id_mhs | nama | +--------+------------+ | 30 | A. Aprilia | +--------+------------+ 1 row in set (0.00 sec)

Contoh diatas adalah mencari karakter sesuai dengan pola dimana pola/pattern tersebut diapit dengan tanda petik dua setelah menggunakan like dan berada didalam klausa where, dari contoh diatas dapat dilihat bahwa penggunaan like tanpa disertai wildcard mirip dengan penggunaan operator = (sama dengan).

Operator like dengan wildcard % adalah untuk mencari berdasarkan pola tertentu, contohnya seperti berikut ini:

mysql> select nama from mahasiswa where nama like "%" limit 5; +----------------+ | nama | +----------------+ | AA Aditya A | | A Aditya A | | A Dimas A | | A Faisal Dimas | | A Faridah Nur | +----------------+ 5 rows in set (0.00 sec) mysql> select kota from mahasiswa where kota like "j%" limit 5; +-----------------+ | kota | +-----------------+ | Jakarta Barat | | Jakarta Timur | | Jakarta Selatan | | Jakarta Timur | | Jakarta Utara | +-----------------+ 5 rows in set (0.00 sec) mysql> select kota from mahasiswa where kota like "%t" limit 5; +---------------+ | kota | +---------------+ | Jakarta Barat | | Bekasi Barat | | Bekasi Barat | | Jakarta Barat | | Jakarta Barat | +---------------+ 5 rows in set (0.00 sec) mysql> select kota from mahasiswa where kota like "%s%" limit 5; +-----------------+ | kota | +-----------------+ | Bekasi Utara | | Bekasi Timur | | Jakarta Selatan | | Bekasi Barat | | Bekasi Barat | +-----------------+ 5 rows in set (0.00 sec)

Dari contoh diatas penggunaan wildcard % tanpa diikut berbagai karakter apa saja akan menampilkan semua isi data, sedangkan penggunaan j% dimaksudkan mencari nilai dari field kota yang diawali dengan huruf j, sementara jika huruf berada di belakang wildcard artinya kita akan menampilkan data yang huruf terakhirnya adalah t, dan jika diapit oleh dua wildcard seperti %s% artinya kombinasi dari kedua hal tersebut yakni dengan mencari nilai yang diawali dan diakhiri huruf s, serta setiap nilai yang memiliki huruf s ditengah. Contoh lainnya adalah seperti berikut:

mysql> select kota from mahasiswa where kota like "b%r limit 5"; +--------------+ | kota | +--------------+ | Bekasi Timur | | Bogor | | Bekasi Timur | | Bekasi Timur | | Bekasi Timur | +--------------+ 9 rows in set (0.00 sec) mysql> select kota from mahasiswa where kota like "b%r%" limit 5; +--------------+ | kota | +--------------+ | Bekasi Utara | | Bekasi Timur | | Bogor | | Bekasi Barat | | Bekasi Barat | +--------------+ 5 rows in set (0.00 sec)

Dari contoh diatas dapat terlihat penggunaan b%r yang artinya adalah untuk mencari data yang berawalan b dan berakhiran t, sedangkan pada penggunaan b%r% yang berarti menampilkan data yang diawali dengan huruf b, serta tengah dan akhiran kalimat dengan huruf r.

Sama seperti wildcard %, penggunaan like dengan wildcard _ (underscore) juga digunakan untuk mencari data dengan mencocokkan pola hanya saja untuk wildcard underscore tidak sama dengan % dimana kita mencari data dengan melewati huruf/string, contohnya seperti berikut:

mysql> select nama from mahasiswa where nama like "a%" limit 5; +----------------+ | nama | +----------------+ | AA Aditya A | | A Aditya A | | A Dimas A | | A Faisal Dimas | | A Faridah Nur | +----------------+ 5 rows in set (0.00 sec) mysql> select nama from mahasiswa where nama like "_a%" limit 5; +---------------+ | nama | +---------------+ | AA Aditya A | | Bagus Prakoso | | Bayu Raise | | Bara | | Hannibal | +---------------+ 5 rows in set (0.00 sec) mysql> select nama from mahasiswa where nama like "%r_" limit 5; +--------------+ | nama | +--------------+ | A Ryan Putra | | A. A. Chery | | Bara | | Sakura | | Dery | +--------------+ 5 rows in set (0.00 sec)

Dari contoh diatas dapat terlihat perbedaan menggunakan wildcard % yang menampilkan semua data berawalan dengan huruf a sementara underscore menampilkan data dengan melewati satu huruf didepan sehingga mencari nilai yang huruf keduanya diawali dengan huruf a, semakin banyak underscore yang digunakan maka semakin banyak huruf yang dilewati, contohnya seperti berikut:

mysql> select nama from mahasiswa where nama like "__a%" limit 5; +------------+ | nama | +------------+ | A Aditya A | | Prakoso | | Beatric | | Eka | | Prayoga | +------------+ 5 rows in set (0.00 sec) mysql> select nama from mahasiswa where nama like "%r__" limit 5; +---------------+ | nama | +---------------+ | A Fatirah | | A Rafli Harun | | Beatric | | Amirul | | Eren | +---------------+ 5 rows in set (0.00 sec)

Selain itu kita juga bisa menggunakannya dengan tambahan karakter seperti berikut:

mysql> select nama from mahasiswa where nama like "_a_u%"; +---------------+ | nama | +---------------+ | Bagus Prakoso | | Bayu Raise | | Sakura | +---------------+ 3 rows in set (0.00 sec) mysql> select nama from mahasiswa where nama like "%_a_u%"; +--------------------+ | nama | +--------------------+ | A Rafli Harun | | A. A. Bagus Wibowo | | A. A. Bayu Andika | | Bagus Prakoso | | Bayu Raise | | Sakura | +--------------------+ 6 rows in set (0.00 sec)

Sampai disini pembahasan operator like pada mysql sudah selesai, jika ada pertanyaan jangan sungkan untuk bertanya, untuk pembahasan lainnya dapat melihat halaman daftar isi.

A. DASAR TEORI

Seperti halnya pemrograman java, C++ dll, SQL juga memiliki operator dasar. Operator dalam SQL adalah simbol yang digunakan untuk menginstruksi program untuk melakukan sesuatu. Akan berbeda definisi ketika kita membicarakan operator dalam kehidupan sehari-hari. Banyak sekali operator yang bisa digunakan ketika kita ingin menuliskan query. Disini kita akan membahas satu persatu operator dasar yang bisa kitra gunakan dalam menuliskan query.

1. AS (Alias)

Seperti halnya DBMS lain, MySQL juga menyediakan perintah tambahan AS untuk mengganti sementara nama tabel atau kolom. Disebut sementara karena pada dasarnya nama tabel tersebut tidak berubah, hanya di ganti untuk 1 kali penulisan query. Di dalam bahasa SQL, query AS  ini lebih dikenal sebagai alias dari nama tabel yang sebenarnya. Alias ini ditujukan untuk mempermudah penulisan query atau mempercantik tampilan hasil query. Selain itu alias ini juga di gunakan untuk mengganti nama dari kolom tertentu agar di mengerti oleh orang lain ketika kita menampilkannya. Berikut query yang bisa kita gunakan untuk menampilkan tabel atau kolom menggunakan alias.

#  Alias Untuk Tabel

Perintah AS bukanlah query SQL yang dapat berdiri sendiri seperti SELECT, UPDATE, maupun DELETE. AS digunakan sebagai tambahan untuk query SQL lainnya seperti SELECT, UPDATE, dan DELETE.

Format dasar penulisan alias tabel:

  • SELECT aliastabel.namakolom1, aliastabel.namakolom2 . . . FROM namatabel AS namaaliastabel;

#  Alias Untuk Kolom

Selain untuk nama tabel, ada juga alias yang digunakan untuk menampilkan nama kolom. Salah satu kegunaan alias kolom ini adalah untuk merubah sementara nama kolom agar lebih sesuai dengan yang kita maksudkan ketika di tampilkan. Sama seperti alias untuk nama tabel, alias pada nama kolom juga merupakan perintah tambahan dari query inti seperti SELECT.

Format dasar penulisan alias kolom:

  • SELECT namakolom1 AS namaalias, namakolom2 AS namaalias, namakolom3 AS namaalias FROM namatabel;

2. AND dan OR

Pada artikel sebelumnya telah di jelaskan tentang penggunaan SELECT yaitu untuk menampilkan data. Penggunaan SELECT tidak bisa berdiri harus ada inisialisasi lainnya seperti SELECT . . . FROM. Telah di jelaskan juga penggunaan syarat ketika menampilkan data yaitu dengan SELECT . . . FROM . . . WHERE tapi pada artikel sebelumnya masih terbatas pada satu syarat (Baca : Perintah Dasar SQL). Pada bahasan kali ini akan di jelaskan penggunaan WHERE dengan lebih dari satu syarat, dengan menambakan operator logika AND dan OR.

#  Logika AND

Logika AND digunakan untuk menspesifikasikan syarat yang di ajukan untuk di penuhi. Jadi ketika kita menambahkan logika AND ke dalam syarat yang kita ajukan, maka akan di tampilkan data yang memenuhi semua syarat yang diberikan. Karenan semua syarat yang diberikan tersebut saling terkait.

  • SELECT * FROM namatabel WHERE syarat1 AND syarat2 AND syarat3 . . . ;

#  Logika OR

logika OR digunakan untuk memberikan pilihan syarat untuk di penuhi. Jadi ketika kita menambahkan logika OR maka data yang akan di tampilkan adalah data yang memenuhi semua syarat atau satu persatu syarat.

  • SELECT * FROM namatabel WHERE syarat1 OR syarat2 OR syarat3 . . . ;

3. BETWEEN

Sama dengan AND dan OR, BETWEEN juga salah satu operasi perbandingan pada perintah SELECT. BETWEEN ini digunakan untuk menentukan lebar dari data yang akan di tampilkan. Dimulai dati data terendah yang akan di tampilkan sampai data yang paling tinggi untuk di tampilkan. Pada operator between terdapat beberapa operasi pembanding yang digunakan, berikut beberapa operasi pembanding yang bisa di gunakan

MySQL, Query SELECT, Operator BETWEEN

Logika operator BETWEEN sebagai berikut :

Untuk menampilkan data diantara operator BETWEEN menggunakan query sebagai berikut :

  • SELECT * FROM nama_tabel WHERE nama_kolom BETWEEN ‘nilai_awal’ AND ‘nilai_akhir’;
  • SELECT * FROM nama_tabel WHERE nama_kolom ‘nilai_awal’>= AND <=‘nilai_akhir’;

Untuk menampilkan data diantara di luar operator BETWEEN menggunakan query sebagai berikut :

  • SELECT * FROM nama_tabel WHERE nama_kolom NOT BETWEEN ‘nilai_awal’ AND ‘nilai_akhir’;
  • SELECT * FROM nama_tabel WHERE nama_kolom ‘nilai_awal’>= OR <=‘nilai_akhir’;

4. IN dan NOT IN

Operator IN juga merupakan salah satu operator yang bisa di gunakan pada perintah SELECT. Operator IN ini berguna melakukan pencocokan dengan salah satu yang ada pada suatu daftar nilai. Berikut Struktur yang digunakan

  • SELECT * FROM namatabel WHERE namakolom IN (katakunci1, katakunci2, katakunci13, katakunci14);

5. LIKE

MySQL menyediakan struktur SELECT . . . LIKE untuk pencarian sebuah data dengan diwakili karakter tertentu. Berikut macam macam operator LIKE yng bisa digunakan

  • S%’ : Cocok dengan kata yang diawali dengan S, dan diikuti dengan karakter apa saja, contoh: ‘S’, ‘Sa’, ‘Si’, ‘Saaaaaa’, ‘Susi’, dan ‘Sabrina Sari’.
  • S_’: Cocok dengan kata yang diawali dengan S, dan diikuti dengan satu karakter apa saja, contoh: ‘Si’, ‘Sa’, ‘Su’, ‘Se’, dan ‘St’.
  • A__i’: Cocok dengan kata yang diawali dengan ‘A’, diikuti oleh 2 karakter bebas, namun diakhiri dengan i, contoh: ‘Andi’, ‘ardi’, ‘aaai’.
  • %e’: Cocok dengan seluruh kata dengan panjang berapapun yang diakhiri dengan huruf ‘e’, contoh: ‘Kece’, ‘Kue’, dan ‘mie’.
  • %dia%’: Cocok dengan seluruh kata yang mengandung kata ‘dia’, contoh: ‘media’, ‘kemudian’, ‘dia’, dan  ‘diaaaa’.

Berikut struktur query dasar untuk pencarian data menggunakan LIKE :

  • SELECT * FROM namatabel WHERE namakolom LIKE ‘operator’;

6. REGEXP (Regular Expression)

Regular Expression atau REGEXP adalah kumpulan huruf atau karakter yang digunakan untuk pencocokan pola (pattern matching). Pola disini contohnya ‘pola untuk kata yang diawali dengan huruf a dan diakhiri dengan huruf j’, atau yang sedikit rumit seperti ‘pola untuk kata yang diawali huruf a,b, c dengan panjang maksimal 5 huruf, mengandung minimal sebuah angka’. Cakupan REGEXP cukup luas, masih banyak sekali operator REGEXP yang bisa digunakan. Berikut ini sedikit operator REGEXP yang sering digunakan

  • . : tanda titik dalam RegExp berarti sebuah karakter apa saja
  • [ … ]: tanda kurung siku ini berarti kumpulan karakter. Misalkan [abc] akan cocok dengan ‘a’, ‘b’, atau ‘c’. kita bisa juga menggunakan jangkauan (range), contohnya [a-z] akan cocok dengan seluruh huruf, [0-9] akan cocok dengan seluruh angka.
  • *: tanda bintang ini akan cocok dengan 0 atau lebih karakter sebelumnya. Misalkan ‘a*’ berarti akan cocok dengan seluruh kata yang mengandung 0 atau lebih a.
  • ^: tanda pangkat atau topi ini menandakan berada di awal kata.
  • $: tanda dollar ini berarti bahwa pola berada di akhir kata.

Mari kita contohkan penggunakan pola RegExp:

  • ab*’: Pola ini berarti akan cocok dengan seluruh kata yang mengandung a dan diikuti oleh b atau tidak sama sekali. Contohnya: ‘a’, ‘ab’, ‘abbbbbb’, dan juga ‘kebab’, karena untuk RegExp, kita harus menyatakan dimana karakter itu muncul.
  • ^ab*’: Pola ini sama artinya dengan ‘ab*’ seperti diatas, namun tanda ^ menyatakan bahwa pola ini harus berada di awal kata, sehingga ‘kebab’ tidak akan cocok.
  • ^s..i$’: Pola ini akan cocok dengan seluruh kata yang diawali dengan s, dan diakhiri dengan i, terdiri dari 4 huruf. Contohnya: susi, sapi, dan siti.

Berikut struktur query dasar untuk pencarian data menggunakan REGEXP :

  • SELECT * FROM namatabel WHERE namakolom REGEXP ‘keywordREGEXP’ ;

7. DISTINCT

Query DISTINCT digunakan untuk memanipulasi tampilan hasil dari tabel. Denagn menggunakan query DISTINCT duplikasi akan dihapus untuk ditampilkan datanya, ini bukan tabel asli dari MySQL. adi DISTINCT ini digunakan untuk menampilkan data tunggal yang tidak ada duplikasinya. Query dasar yang digunakan adalah

  • SELECT DISTINCT namakolom FROM namatabel ;

8. LIMIT

LIMIT digunakan untuk membatasi data yang ingin di tampilkan. Berikut Query dasar yang bisa digunakan

SELECT * FROM namatabel LIMIT jumlahbaris;

9. UNION, INTERSECT, EXCEPT

Perintah UNION dalam MySQL di gunakan untuk menggabungkan/mengkombinasikan isi dari dua tabel menjadi satu. Sama seperti artinya INTERSECT ini di gunakan untuk mencari irisan pada dua atau lebih tabel. Kemudian perintah yang terakhir yaitu EXCEPT, EXCEPT ini di vgunakan untuk memunculkan isi tabel yang berada di luar irisan tabel. Berikut query dasar yang bisa di gunakan untuk menggunakan perintah tersebut.

UNION

  • SELECT * FROM namatabel1 UNION SELECT * FROM namatabel2 ;

INTERSECT

  • SELECT * FROM namatabel1 WHERE syarat1 IN (SELECT * FROM namatabel2) ;

EXCEPT

  • SELECT * FROM namatabel1 WHERE syarat1 NOT IN (SELECT * FROM namatabel2) ;

B. PRAKTIKUM

Pembahasan kali ini akan di praktekan query query yang telah kita pelajari dari dasar teori di atas.

Persiapan praktek : Gunakan tabel mahasiswa dan fakultas pada. Isi kolom sama dengan tabel mahasiswa dan fakultas pada artikel sebelumnya, tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa. Insert data mahasiswa hingga 7 baris dengan salah satu nama adalah ‘binta’ dan insert data fakultas hingga 3 baris.

1. Menampilkan Data Menggunakan AS

Berdasarkan tabel yang telah kita buat sebelumnya, menampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom secara permanen. Berikut querynya

  • select nim_mah as nomor_identitas, nama_mah as nama, alamat_mah as alamat, nama_fak as nama_fakultas from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;

 2. Menampilkan Data Menggunakan Operator AND dan OR

Menampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki. Berikut query dari soal di atas.

  • select*from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak and gender=’L’;

  • select*from mahasiswa where id_fak=1 or gender=’L’;

3. Menampilkan Data Menggunakan Operator BETWEEN

Berikut soal untuk menampilkan data menggunakan BETWEEN. Suatu tabel mahasiswa terdapat 7 baris data mahasiswa. menampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5 menggunakan between dan tanpa menggunakan between.

Disini kita akan menggunakan perintah BETWEEN dan NOT BETWEEN, baik itu menggunakan BETWEEN atau menggunakan simbol atau keyword untuk betwee. Berikut query yang bisa di gunakan

  • select*from mahasiswa where nim_mah>=3 and Nim_mah<=5;
  • select*from mahasiswa where nim_mah between 3 and 5;
  • select*from mahasiswa where nim_mah not between 3 dan 5;
  • select*from mahasiswa where nim_mah<3 or nim_mah>5;

4. Menampilkan Data menggunakan Operator IN

Menampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN. Berikut query yang bisa digunakan

  • select*from mahasiswa where nim_mah in (2, 3, 5);

5. Menampilkan Data Menggunakan Operator LIKE

Menampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”. Dan Menampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”. Berikut query dari soal berikut

  • select*from mahasiswa where nama_mah like ‘a%’;
  • select*from mahasiswa where nama_mah like ‘__%n%a’;

6. Menampilkan Data Menggunakan Operator DISTINCT

Menampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir. Berikut query dari operator DISTINCT

  • select distinct id_fak from mahasiswa;

7. Menampilkan Data Menggunakan OperatorLIMIT

Menampilkan data mahasiswa 3 baris saja, menggunakan operator LIMIT. Berikut query yang bisa digunakan

  • select*from mahasiswa limit 3;

8. Menampilkan Data Menggunakan Operator REGEXP

Menampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh b atau boleh m atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti abi, amik, adik, adam dll. Gunakan operator RGEXP untuk menyelesaikan soal tersebut. Berikut query yang bisa digunakan

  • select*from mahasiswa where nama_mah regexp ‘^k[aid]’;

9. UNION, INTERSECT dan EXCEPT

Sebelum menjalankan perintah UNION, INTERSECT dan EXCEPT, buat dulu tabel baru dengan nama organ_dalam dan organ_luar. Dengan nama kolom nomor dan nama, kemudian pada organ_dalam isi tabel dengan (1, jantung), (2, paru-paru), (3, tenggorokan) kemudian pada tabel organ luar isi tabel dengan (1, hidung), (2, mata), (3, tenggorokan). Setelah modifikasi tabel tersebut dengan perintah UNION, INTERSECT dan EXCEPT

  • select nama from organ_dalam union select nama from organ_luar;
  • select*from organ_dalam where nama in (select nama from organ_luar);
  • select*from organ_dalam where nama not in (select nama from organ_luar);

C. Perbedaan, Kesamaan, Kelebihan dan Kekurangan Pada DBMS PostgreSQL dan MySQL

Sebenarnya PostgreSQL maupun MySQL merupan DBMS andalan yang banyak dan mudah digunakan oleh banyak orang. Mulai dari struktur query yang digunakan tidaklah serumit DBMS lain. Oleh sebab itu banyak sekali kesamaan dari kedua DBMS ini, dari artikel Pengenalan Operator Dasar Pada MySQL penulis melihat bahwa banyak sekali kesamaan antara PostgreSQL dan MySQL pada penulisan operatorquery  yang digunakan. Hanya terdapat sedikit sekali perbedaan yang ada, antara lain :

#  Pada Operator REGEXP

Pada operator REGEXP terdapat sedikit perbedaan antara kedua DBMS ini, pada PostgreSQL operator REGEXP dituliskan dalam bentuk simbol ( ), tapi apabila dalam MySQL operator REGEXP tidak di tulis dalam simbol tetapi ditulis operatornya langsung yaitu dengan menuliskan (regexp) saat penulisan querynya. Berikut perbedaan query dasar dari dua DBMS tersebut

PostgreSQL

  • SELECT * FROM namatabel WHERE namakolom ~ ‘keywordREGEXP’;

MySQL

  • SELECT * FROM namatabel WHERE namakolom REGEXP ‘keywordREGEXP’ ;

#  Pada Perintah INTERSECT dan EXCEPT

Pada perintah INTERSECT dan EXCEPT terdapat perbedaan yang sangat mencolok, apabila pada PostgreSQL disediakan sendiri perintah INTERSECT dan EXCEPT, tetapi jika di MySQL perintah INTERSECT dan EXCEPT tidak di sediakan. Jadi untuk mendapatkan perintah ini kita bisa menggunakan operatop IN untuk INTERSECT dan NOT IN untuk EXCEPT.

PostgreSQL

  • SELECT namakolom FROM namatabel EXCEPT SELECT namakolom FROM namatabel; //EXCEPT
  • SELECT namakolom FROM namatabel INTERSECT SELECT namakolom FROM namatabel; //INTERSECT

MySQL

  • SELECT * FROM namatabel1 WHERE syarat1 IN (SELECT * FROM namatabel2) ; //INTERSECT
  • SELECT * FROM namatabel1 WHERE syarat1 NOT IN (SELECT * FROM namatabel2) ; //EXCEPT

D. KESIMPULAN

Pada MySQL terdapat banyak sekali variasi penggunaan operator SELECT untuk menampilkan data. Kita bisa menggunakan alias, operator logika, limit dll. Operator ini tidak hanya ada pada MySQL saja tetapi juga terdapat pada PostgreSQL. Tetapi terdapat sedikit perbedaan penulisan query pada kedua DBMS ini, yaitu pada penggunaan operator REGEXP dan perintah INTERSECT dan EXCEPT. Jadi bagi para pembaca kalian mungkin bisa menggunakan kedua DBMS ini agar mengetahui variasi yang ada dan dapat meningkatkan kemampuan anda dalam menulis query.

E. DAFTAR PUSTAKA

Video yang berhubungan

Postingan terbaru

LIHAT SEMUA