Operasi Minus(Difference) Pada MySQL

Untuk apa kita perlu query join? Query join berfungsi untuk menggabungkan beberapa tabel menjadi sebuah tabel gabungan. Teknik menggabung tersebut adalah keunggulan dari basis data relasional (RDBMS: Relational Database Management System), dimana data dapat disimpan dalam beberapa tabel kecil yang terpisah, bukannya satu tabel besar dengan banyak kolom. Pada dunia nyata pemrograman, query join sangat banyak dan hampir selalu digunakan, karena dengan itu sebenarnya kunci pengolahan data dengan SQL dan dari situ dapat dihasilkan informasi-informasi yang lebih bermakna dibandingkan dengan query satu tabel saja.

Cara kerja join ialah dengan mencari kecocokan kolom tertentu pada sebuah tabel dengan kolom tertentu pada tabel lain, kemudian menampilkan hasilnya sebagai satu set data gabungan. Secara garis besar, terdapat 3 macam join, yaitu INNER JOIN, LEFT JOIN dan RIGHT JOIN. Namun, selain dari 3 macam tersebut, terdapat tambahan beberapa varian tergantung dari RDBMS yang digunakan.

Operasi minus yang ada di Oracle tidak akan anda gunakan pada MySQL, untuk menggunkan operasi itu anda dapt menggunakan operasi LEFT JOIN. Contohnya sebagai berikut:

materi
id_materi
nama_materi
1 PHP MySQL
2 Visual Basic
3 Java
4 Corel Draw
5 Photoshop

detail_pengajar
id_pengajar
id_materi
9 1
9 4

Tampilkan semua id_materi dan nama_materi yang id_pengajar <> 9!
Gunakan query berikut,
select m.id_materi, m.nama_materi
from materi m
left join detail_trainer d
on (m.id_materi=d.id_materi and d.id_trainer=9)
where d.id_trainer is null

Akan menghasilkan output sebagai berikut:

materi
id_materi
nama_materi
2 Visual Basic
3 Java
5 Photoshop

 

No comments yet

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.