Join adalah operasi
untuk mengambil informasi dari 2 tabel atau lebih dalam 1 waktu. Dengan
join baris data dari satu tabel dihubungkan dengan baris data pada tabel lain
berdasarkan kolom tertentu. Klasifikasi Join :
• inner join
• outer join
• cross join
• equi join
• natural join
• self join
Dari beberapa macam join tersebut yang
banyak digunakan adalah inner join dan outer join.
Inner Join
Inner join adalah default dari join, digunakan
mendapatkan data dari tabel lain berdasarkan kolom yang dihubungkan. Bila tidak
ditemukan maka baris data tersebut dibatalkan.
Syntax :
Select … from
tabelA [inner] join tabelB on tabelA.namakolom operator tabelB.namakolom
Keterangan :
• Kata inner
adalah opsional (boleh ditulis ataupun tidak)
• Klausa where,
order by dll dapat disertaka
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
dan
SELECT
<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.
Cross 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. 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
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.
1.
VIEW
PESAN (cross join)
Input : (Table_pelanggan) Nama_pelanggan, Alamat_pelanggan, telepon (Table Menu)
Brand_Rokok, Merk_Rokok (Table_Admin)Nama_karyawan (Table_Pesan)Jumlah_Pesan
Keterangan : Penggabungan ini
agar dapat mengetahui pemesanan secara detail pada
waktu proses pemesanan.
2. VIEW PEMBAYARAN
(Cross Join) Input : (Table_Pelanggan), ID_Pelanggan, (Table_E-Banking), User_ID, PIN, Nama_Bank
Output :
Keterangan : Penggabungan ini
agar dapat mengetahui secara detail siapa dan berapa
saat melakukan pembayaran.
3.
VIEW
PENGANTARAN (right join)
Input
: (Table_Hasil Order) ID_Hasil Order, Nama_Order (Table_Man Delivery)
Nama_Karyawan