Friday, 24 January 2014

Jenis-Jenis Operasi JOIN Dengan MySQL



Secara umum terdapat tiga jenis operasi join, yaitu: Cross join, Inner join dan
Outer join.

1. Cross Join / Cartesian Join
Join jenis ini menghasilkan kombinasi semua baris yang terdapat dalam
tabel – tabel yang digabungkan baik yang berpasangan maupun yang tidak
berpasangan. Pada kenyataan join jenis ini tidak akan pernah dipakai. Meskipun
begitu join jenis inilah yang merupakan dasar dari perintah join. Berikut ini
contoh dari perintah cross join:

SELECT * FROM Mahasiswa, KRS
SELECT Mahasiswa.Nama, Mata_Kuliah.Nama_MK FROM
Mahasiswa, Mata_Kuliah
SELECT A.NIM, A.Nama, B.Nama_MK, C.Nilai FROM Mahasiswa A,
Mata_Kuliah B, KRS C

2.Inner Join
Join jenis ini hanya menghasilkan kombinasi semua baris yang memiliki
pasangan saja. Baris yang tidak memiliki pasangan tidak akan ditampilkan. Cara
penulisan perintah inner join ada beberapa cara, yaitu:

1. SELECT Daftar_Kolom FROM Tabel1, Tabel2 WHERE
Tabel1.Primary_key = Tabel2.Foreign_key
SELECT * FROM Mahasiswa, KRS WHERE Mahasiswa.NIM =
KRS.NIM

2. SELECT Daftar_Kolom FROM Tabel1 INNER JOIN Tabel2 ON
Tabel1.Primary_key = Tabel2.Foreign_key
SELECT * FROM Mahasiswa INNER JOIN KRS ON
Mahasiswa.NIM = KRS.NIM

3. SELECT Daftar_Kolom FROM Tabel1 JOIN Tabel2 ON
Tabel1.Primary_key = Tabel2.Foreign_key
SELECT * FROM Mahasiswa JOIN KRS ON Mahasiswa.NIM =
KRS.NIM

3. Outer Join
Hampir sama dengan inner join, hanya saja baris yang tidak memiliki
pasangan tetap akan ditampilkan. Join jenis ini di bagi lagi menjadi 3, yaitu:
a. Left Outer Join
_ Baris – baris yang tidak memiliki pasangan pada tabel yang ada
disebelah kiri kata “JOIN” akan tetap ditampilkan. Contoh:
SELECT * FROM Mahasiswa LEFT OUTER JOIN KRS ON
Mahasiswa.NIM = KRS.NIM

b. Right Outer Join
_ Baris – baris yang tidak memiliki pasangan pada tabel yang ada
disebelah kanan kata “JOIN” akan tetap ditampilkan.
SELECT * FROM Mahasiswa LEFT OUTER JOIN KRS ON
Mahasiswa.NIM = KRS.NIM
c. Full Outer Join
_ Baris – baris yang tidak memiliki pasangan pada semua tabelakan
tetap ditampilkan.
SELECT * FROM Mahasiswa FULL OUTER JOIN KRS ON
Mahasiswa.NIM = KRS.NIM
Catatan:
Untuk penulisan sintak OUTER JOIN, kata OUTER bisa dihilangkan /
tidak disertakan.



No comments:

Post a Comment