alt

Tulisan ini sebenarnya udah lamaaaaaa banget pengen gw posting (sekitar sebulan yg lalu sih). Kenapa??? Karena gw selalu lupa join mana yang harus gw pake waktu ketemu dilema join (nasib anak males latihan). Jadi biar gw g lupa-lupa lagi masalah Join Sql maka gw memutuskan untuk posting tulisan mengenai Join Sql di web gw tercinta ini.... Selamat membaca :D

alt

Join merupakan sebuah operasi yang digunakan untuk mendapatkan data gabungan dari dua buah tabel atau lebih. Operasi ini digunakan dalam perintah SELECT dan biasanya dipakai untuk memperoleh detail data dari tabel – tabel yang saling terkait (memiliki relasi). Misalnya karena tabel mahasiswa hanya memuat kode_kelas saja tanpa nama kelas maka kita harus melakukan join antara tabel mahasiswa dengan tabel kelas yang memuat kolom nama_kelas.

Secara umum ada 3 jenis operasi Join, yaitu Cross Join, Inner Join, dan Outer Join.

Cross Join

Join jenis ini menggabungkan semua baris yang terdapat dalam table-table baik itu memiliki pasangan ataupun tidak. Jadi jumlah recordnya adalah gabungan kedua record table (Table A x Table B). Tapi terus terang 

SELECT * FROM tableA, tableB

SELECT * FROM tableA a CROSS JOIN tableB b

Inner Join

Inner Join menggabungkan dua record table yang memiliki pasangan. Singkat kata jenis join ini adalah Irisan table/record.

SELECT * FROM tableA INNER JOIN tableB ON tableA.id = tableB.tableAID

SELECT * FROM Mahasiswa, KRS WHERE Mahasiswa.NIM = KRS.NIM

INNER JOIN

Karena irisan maka hasil dari Join jenis ini tidak akan menghasilkan nilai NULL baik di sisi kiri maupun di sisi Kanan.

 Outer Join

Join jenis ini mungkin jenis join yang paling sering gw pake, dan paling sering juga lupa gimana cara makenya. Biasanya sambil make join ini gw pake trial error dulu, untung kalo jumlah recordnya sedikit. Kalo jumlah recordnya banyak gw perlu nunggu beberapa detik sebelum hasil querynya keluar (nasib ngerjain database pake komputer single core 32bit). Belum lagi join jenis ini sangat bergantung sama sisi kanan dan kiri table, membuat gw yg cebok masih mikir pake tangan yg mana tentunya hal ini bikin bingung. Oke selesai curhatnya, mari kita bahas Outer Join

Join jenis ini akan menampilkan table yang punya pasangan dan yang tidak punya pasangan. Hanya saja table yang tidak berpasangan dapat kita tentukan apakah yang sisi kiri atau sisi kanan.

Left Outer Join

Baris – baris yang tidak memiliki pasangan pada tabel yang ada disebelah kiri kata “JOIN” akan tetap ditampilkan.

SELECT * FROM tableA LEFT (LEFT OUTER) JOIN tableB ON tableA.id = tableB.tableAID

LEFT JOIN

Right Outer Join

Baris – baris yang tidak memiliki pasangan pada tabel sebelah kanan kata "join" akan tetap ditampilkan.

SELECT * FROM tableA RIGHT (RIGHT OUTER) JOIN tableB ON tableA.id = tableB.tableAID


FULL Outer JOIN

Baris – baris yang tidak memiliki pasangan pada semua tabel akan tetap ditampilkan.

SELECT * FROM tableA FULL OUTER JOIN tableB ON tableA.id = tableB.tableAID

Nah gitu tuh JOIN SQL... Kalo dibaca sih g pusing, tapi kalo udah ketemu langsung dan g pake baca biasanya bikin bingung, terutama buat mereka yang ceboknya masih pake mikir. Singkatnya grafik join bisa dilihat di bawah ini.

alt

CHEAT SHEET

Okeeeee!!! Sekalian dulu tulisan dari gw, semoga bermanfaat buat kalian... Oh iya sebelum gw tutup gw mau memperkenalkan sideproject gw selama kerja, walaupun udah lumayan lama g kesentuh tapi nanti outputnya bakal gw buat banyak dan bermanfaat. Gw bikin aplikasi webbased mengenai pencatatan keuangan kita sehari-hari. Bisa diakses di http://keu.belajararief.com yang kira-kira berniat buat nyoba silahkan emain permintaan coba kalian dengan komen di bawah ini disertakan dengan alamat email tempat gw ngirim un/pw nya.

Oke keep posting dan terus blogwalking teman-teman semua :D

alt