kali ini saya akan memberikan sedikit ilmu tentang memahami join di sql, langsung saja simak.
Pada bahasa SQL, operasi join atau penggabungan "menyamping" antar table adalah operasi dasar database relasional yang sangat penting. Untuk mendukung perancangan database resional yang baik, berikut adalah penjelasan dan ilustrasi mengenai join ini.
Macam macam JOIN pada mysql :
1.INNER JOIN
2.OUTER JOIN
3.CROSS JOIN
4.UNION JOIN- INNER JOIN hanya akan menampilkan data yang cocok satu sama lain (berpasangan) pada kedua tabel.
- OUTER JOIN Pada dasarnya OUTER JOIN dibagi menjadi 3, FULL OUTER JOIN, LEFT OUTER JOIN, dan RIGHT OUTER JOIN.
- Cross join kadangkala disebut juga sebagai Cartesian Product. Bila menggunakan cross join, maka hasil dari cross join akan menciptakan hasil yang didasarkan pada semua kemungkinan kombinasi baris dalam kedua set data. Dengan demikian, jumlah baris yang dikembalikan adalah N ✕ M , dimana N adalah jumlah baris dalam kumpulan data A dan M jumlah baris dalam kumpulan data B.
- Union Join Union didukung oleh MySQL mulai dari versi 4.0. Pemakaian union dapat menyederhanakan perintah persyaratan OR yang bertingkat. Bila dalam sebuah query menghasilkan pemakaian perintah OR yang lebih dari satu sehingga dapat membuat bingung, sebagai gantinya digunakan perintah UNION.
A.Full outer Join:
SELECT * FROM TabelA FULL OUTER JOIN TabelB ON TabelA.nama = TabelB.nama FULL OUTER JOIN menghasilkan semua data yang ditemukan dan cocok satu sama lain pada kedua tabel, jika ada yang tidak cocok, bagian yang tidak ada tersebut akan berisi null. Jadi bisa dikatakan FULL OUTER JOIN ini akan menampilkan semua data yang ada di kedua tabel termasuk yang tidak cocok satu sama lain.
B.Left Outer Join:
SELECT * FROM TabelA LEFT OUTER JOIN TabelB ON TabelA.nama = TabelB.nama LEFT OUTER JOIN menghasilkan semua data yang ada pada TabelA (tabel sebelah kiri), dengan pasangannya (jika ada) pada TabelB (tabel sebelah kanan). Jika pasangannya tidak ditemukan, tabel sebelah kanan akan berisi nul
C.Right Outer Join:
SELECT * FROM TabelB RIGHT OUTER JOIN TabelA ON TabelB.nama = TabelA.nama RIGHT OUTER JOIN menghasilkan semua data yang ada pada TabelB (tabel sebelah kanan), dengan pasangannya (jika ada) pada TabelA (tabel sebelah kiri). Jika pasangannya tidak ditemukan,tabel sebelah kiri akan berisi null.