Fungsi JOIN pada MySql
JOIN adalah cara untuk menghubungkan data yang diambil dari tabel-tabel melalui sebuah yang menghubungkan mereka.
Ada berbagai macam perintah JOIN pada MySql, diantara nya yaitu:
1. INNER JOIN
Perintah Join ini mengambil semua row dari tabel asal dan tabel tujuan dengan kondisi nilai key yang saling berkaitan saja, jika tidak berkaitan maka row tersebut tidak akan muncul.
2. LEFT JOIN
Merupakan perintah join untuk menampilkan semua datapada bagian sisi kiri tabel dan menampilkan data sebelah kanan yang cocok dengan kondisi join. Apabila tidak ditemukan kecocokan, maka akan di set NULL secara otomatis.
3. RIGHT JOIN
Merupakan perintah join yang akan menampilkan semua data yang ada di bagian sisi kanan tabel dan mencari kecocokan key pada tabel bagian sisi kiri. Sama halnya pada perintah left join, apabila tidak ditemukan kecocokan, maka akan di set NULL secara otomatis pada tabel sisi kiri.
Agar lebih mudah dipahami, kita akan meyelesaikan contoh soal pada perintah Join
Sebelum menuju soal, terlebih dahulu kita membuat database baru dengan nama Sistem_Penyimpanan, yang berisi recor seperti gambar dibawah:
Pada pembuatan database gunakan syntak create database sistem_pemesanan;
Setelah itu gunakan syntak show databases; untuk memastikan bahwa database sudah berhasil dibuat.
Apabila database sudah berhasil dibuat seperti gambar diatas, selanjutnya gunakan syntak use sistem_pemesanan; untuk membuat tabel pelanggan, pesan, produk, dan faktur seperti pada soal diatas.
Selanjutnya kita buat tabel pelanggan terlebih dahulu, gunakan syntak seperti gambar dibawah:
SSetelah tabel berhasil dibuat, kita gunakan syntak INSERT*INTO pelanggan (isi record) untuk memasukkan record pada tabel pelanggan, untuk melihat hasil input recors, gunakan syntak SELECT*FROM pelanggan;
Selanjutnya kita buat tabel pesan, caranya seperti pembuatan tabel pelanggan
gunakan syntak INSERT*INTO pesan (isi record) untuk memasukkan record pada tabel pelanggan, untuk melihat hasil input recors, gunakan syntak SELECT*FROM pesan;. Untuk melihat detail tabel pesan, gunakan syntak desc_pesan;
Selanjutnya kita buat tabel produk seperti gambar dibawah
Gunakan syntak INSERT*INTO produk (isi record); kemudian gunakan syntak SELECT*INTO produk; untuk meihat detail tabel produk;
Terakhir, kita buat tabel faktur seperti gambar dibawah
Gunakan syntak INSERT*INTO faktur (isi record); kemudian gunakan syntak SELECT*INTO faktur; untuk meihat detail tabel faktur;
Setelah berhasil memasukkan record kedalam tabel, maka kita akan berlanjut kedapam contoh soal perintah DML join
Soal!
- Menggunakan WHERE, tuliskan syntax (SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan.tgl_pesan FROM pelanggan, pesan WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;)
Jawab:
Soal!
- Menggunakan INNER JOIN, tuliskan syntax SELECT pelanggan.id_pelanggan,pelanggan.nm_pelanggan, pesan.id_pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;)
Jawab:
Soal!
- Menggabungkan tabel pesan dan faktur menggunakan WHERE dengan syntax SELECT pesan.id_pesan, pesan.tgl_pesan, faktur.id_faktur, faktur.tgl_faktur from pesan, faktur WHERE pesan.id_pesan=faktur.id_pesan;
Jawab:
Soal!
- Menggabungkan tabel pesan dan faktur menggunkan INNER JOIN dengan syntax SELECT pesan.id_pesan, pesan.tgl_pesan, faktur.id_faktur.tgl_faktur from pesan INNER JOIN faktur ON pesan.id_pesan=faktur.id_pesan;
Jawab:
Selanjutnya kita akan berlatih soal OUTER-JOIN
Soal!
- Menggunakan LEFT tuliskan syntax SELECT pelanggan.id,pelanggan.nm_pelanggan, pesan,id_pesan, pesan.tgl_pesan FROM pelanggan LEFT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Jawab:
Soal!
- Ubahlah perintah left diatas menjadi RIGHT, temukan perbedaanya!
- Gunakan syntax SELECT pesan.id_pesan, pesan.tgl_pesan, pelanggan.id_pelanggan, pelanggan.nm_pelanggan FROM pesan RIGHT JOIN pelanggan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Jawab:
Soal!
- Gabungkan antara tabel pelanggan, pesan, dan faktur!
- Gunakan syntax SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan, faktur.id_faktur, faktur.tgl_faktur FROM pelanggan, pesan, faktur WHERE pelanggan.id_pelanggan=pesan.id_pelanggan AND pesan.id_pesan=faktur.id_pesan;
Jawab:
Sekian penjelasan mengenai fungsi DML Join pada mysql semoga bermanfaat ^_^