Anda di halaman 1dari 8

Substansi:

1. LEFT OUTER JOIN


2. RIGHT OUTER JOIN
3. INNER JOIN
4. STRAIGHT_JOIN
5. NATURAL JOIN
6. CROSS JOIN

Mengenal Fungsi Join Pada MySQL

1. LEFT OUTER JOIN


Kata kunci OUTER sebenarnya adalah bersifat opsional jadi, baik ditulis atau tidak, hasilnya akan
tetap sama, sebab pada dasarnya, LEFT OUTER JOIN = LEFT JOIN, sedangkan LEFT JOIN itu sendiri
adalah bagian dari OUTER JOIN. Ilustrasi:
Dengan asumsi bahwa semua field pada tabel di atas sudah berisi dengan data - data

Keterangan:
Pada dasarnya semua field pada tabel di atas sudah memiliki data masing-masing namun
dikarenakan kita menggunakan perintah query LEFT OUTER JOIN, maka data yang di tampilkan
hanya field pada sisi kiri saja (lingkup tabel yang sama), sementara data field pada sisi kanan (lingkup
tabel yang sama) di hidden / tidak di tampilkan, pada tabel di atas kita indikasikan dengan warna
biru.

Contoh:

Dengan menggunakan database northwind kita akan menggabungkan 2 relasi tabel, seperti
customers dengan order.

Jika ingin memahami lebih jauh dengan cara mempraktekannya, silakan download terlebih dahulu
database northwind di SINI.

Dengan perintah Query seperti dibawah ini:

SELECT customers.CustomerID, customers.ContactName,


orders.OrderID, orders.OrderDate
FROM customers LEFT OUTER JOIN orders
ON customers.CustomerID=orders.OrderID;
atau

SELECT customers.CustomerID, customers.ContactName,


orders.OrderID, orders.OrderDate
FROM customers LEFT JOIN orders
ON customers.CustomerID=orders.OrderID;
Maka akan diperoleh hasil seperti di bawan ini.
2. RIGHT OUTER JOIN
Identik dengan LEFT OUTER JOIN yaitu sama-sama merupakan bagian dari OUTER JOIN, hanya saja
RIGHT OUTER JOIN adalah kebalikannya, yaitu RIGHT OUTER JOIN = RIGHT JOIN, dimana data field
yang akan di tampilkan adalah pada sisi kanan, dengan catatan masih dalam lingkup tabel yang
sama. Ilustrasi:
Dengan asumsi bahwa semua field pada tabel di atas sudah memiliki data-data.

Keterangan:
Pada dasarnya semua field pada tabel di atas sudah memiliki data masing-masing namun
dikarenakan kita menggunakan perintah query RIGHT OUTER JOIN, maka data yang di tampilkan
hanya field pada sisi kanan saja (lingkup tabel yang sama), sementara data field pada sisi kiri (lingkup
tabel yang sama) di hidden / tidak di tampilkan, pada tabel di atas kita indikasikan dengan warna
biru.

Contoh:

Dengan menggunakan database northwind kita akan menggabungkan 2 relasi tabel, seperti
customers dengan order.

Dengan perintah Query seperti dibawah ini:

SELECT customers.CustomerID, customers.ContactName,


orders.OrderID, orders.OrderDate
FROM customers RIGHT OUTER JOIN orders
ON customers.CustomerID=orders.OrderID;
atau

SELECT customers.CustomerID, customers.ContactName,


orders.OrderID, orders.OrderDate
FROM customers RIGHT JOIN orders
ON customers.CustomerID=orders.OrderID;
Maka akan diperoleh hasil seperti di bawan ini.

3. INNER JOIN
Dengan INNER JOIN, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu
sisi atau dengan kata lain data NULL tidak akan di tampilkan, Sebagai contoh, dengan menggunakan
database northwind kita akan menggabungkan tabel customers dan orders dimana kita akan
menampilkan daftar customers yang pernah melakukan order.

Dengan menggunakan perintah Query sebagaimana berikut.

SELECT customers.CustomerID, customers.Country, orders.OrderID, orders.OrderDate


FROM customers INNER JOIN orders
ON customers.CustomerID = orders.CustomerID
Maka diperoleh hasil:

Kesimpulan:
INNER JOIN digunakan untuk mencari data yang sama antara dua table, sedangkan OUTER JOIN
digunakan untuk mencari data yang sama sekaligus data yang tidak sama.

4. STRAIGHT_JOIN
Dari kata straight yang artinya lurus atau jujur atau apa adanya, jadi STRAIGHT_JOIN merupakan
operator MySQL yang di gunakan untuk menggabungkan 2 tabel secara menyeluruh dan apa
adanya, meskipun tidak ada keterkaitan data.

Perintah STRAIGHT_JOIN sama seperti dengan JOIN, namun STRAIGHT_JOIN tidak mengenal klausa
WHERE. Dengan menggunakan database northwind, maka perhatikan contoh penggunaan berikut
ini.

SELECT * FROM customers


STRAIGHT_JOIN products
Meskipun tabel customers dengan tabel products tidak ada relasi (kesamaan data) maka dengan
perintah STRAIGHT_JOIN keduanya tetap bisa di gabungkan,

Hasil eksekusi:

5. NATURAL JOIN
Operasi natural join adalah operasi equijoin yang memiliki kesamaan dalam semua field yang
memiliki nama yang sama dalam tabel R dan tabel S. Dalam hal ini, kita dapat menghilangkan
kondisi dalam operasi join karena akan menghasilkan dua field dengan nama yang sama.

Jadi untuk melakukan NATURAL JOIN antara dua tabel harus memenuhi syarat berikut ini : Dua tabel
yang ingin di NATURAL JOIN harus mempunyai minimal satu nama kolom atau field yang sama dan
tipe data yang sama, jika tidak maka akan terjadi error.

Contoh:

Dengan menggunakan database norhwind, kita akan melakukan NATURAL JOIN pada tabel
customers dengan orders, dimana kedua tabel tersebut memiliki kesamaan field dan tipe data pada
kolom CustomersID.

SELECT CustomerID, CompanyName, OrderID, OrderDate


FROM customers NATURAL JOIN orders
Dan hasilnya seperti di bawah ini.
6. CROSS JOIN
Cross Join disebut juga dengan CARTESIAN PRODUCT yaitu perkalian dari 2 buah tabel.

Ilustrasi:

Misalkan data tabel A : {a,b,c,d } , data Tabel B {F,G,H,I}

Jika tabel A CROSS JOIN tabel B, maka akan menjadi {aF, aG, aH, aI, bF, bG, bH, bI, cF, cG, cH, cI, dF,
dG, dH, dI}.

Contoh:

Dengan database northwind, kita akan melakukan CROSS JOIN pada tabel categories dengan tabel
shippers.

Dimana tabel categories sebagai berikut.


Dan tabel shippers sebagai berikut.

Jika keduanya di CROSS JOIN,

SELECT CategoryName, CompanyName


FROM categories CROSS JOIN shippers
Maka hasilnya akan seperti di bawah ini.

Anda mungkin juga menyukai