Join adalah perintah SQL yang berfungsi untuk melakukan relasi antara kedua tabel atau lebih yang saling memiliki hubungan / relasi ( ditandai dengan adanya primary key pada tabel master dan foregn key pada tabel transaksi ). Di dalam database, ada kalanya kita membutuhkan data dari beberapa tabel yang saling berhubungan. Untuk mendapatkan data dari beberapa tabel tersebut dapat digunakan perintah join pada perintah SQL. Pada MySQL, perintah join ada beberapa macam yaitu :
- Inner Join
- Outer Join
- Cross Join
- Union Join
- Inner Join, Inner join merupakan jenis join yang paling umum yang dapat digunakan pada semua database. Jenis ini dapat digunakan bila ingin merelasikan dua set data yang ada di tabel, letak relasinya setelah pada perintah ON pada join.Bentuk baku perintah inner join :SELECT <field1>,<field2>,<fieldn> FROM <tabel1> INNER JOIN <tabel2>ON <key.tabel1> = <key.tabel2>
- Outer Join, Outer join merupakan jenis join yang sedikit berbeda dengan inner join. Pada MySQL, bentuk perintah untuk menerapkan outer join ada 2 yaitu :SELECT <field1>,<field2>,<fieldn> FROM <tabel1> LEFT JOIN <tabel2> ON<key.tabel1> = <key.tabel2>danSELECT <field1>,<field2>,<fieldn> FROM <tabel1> RIGHT JOIN <tabel2>ON <key.tabel1> = <key.tabel2>Left join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set A, terlepas dari apakah nilai kunci ada dalam data set B. Right join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set B, terlepas dari apakah nilai kunci ada dalam data set A.Bila ingin menampilkan semua data yang ada di tabel sebelah kiri baik yang mempunyai pasangan ataupun yang tidak mempunyai pasangan dengan data pada tabel di sebelah kanan, maka gunakan left join. Sedangkan bila yang terjadi adalah kebalikannya, yaitu ingin menampilkan semua data yang ada di sebelah kanan baik yang mempunyai pasangan ataupun yang tidak mempunyai pasangan dengan data pada tabel di sebelah kiri, maka gunakan right join.
- Cross Join, Cross join kadang kala 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. Jelas, jumlah baris dalam cross join dapat menjadi sampah. Bentuk perintah dari cross join adalah :SELECT <field1>,<field2>,<fieldn> FROM <tabel1> CROSS JOIN <tabel2> atau SELECT <field1>,<field2>,<fieldn> FROM <tabel1>, <tabel2>
- 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. Union dapat dikatakan sebagai perintah untuk menggabungkan hasil query sql yang fungsinya sama dengan perintah OR
EmoticonEmoticon