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 |