BAB I
PENDAHULUAN
1.1 Latar Belakang
Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran jika dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one), 1-M (one-to-many), atau M-N (many-to-many). Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan data yang tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya, kita ingin menampilkan nama pelanggan berikut transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua tabel. Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah join.
Join memiliki beberapa jenis atau tipe yaitu inner join, cross join, outer join, equi, dan self join. Dalam makalah ini kami akan membahas tentang jenis-jenis atau tipe-tipe joins table secara garis besar diantaranya inner join, left join,right join dan full join (outer join) dengan mengimplementasikan nya menggunakan cmd dan phpmyadmin.
1.2 Rumusan Masalah
1. Apa itu Joins Table dan bagaimana relasinya?
2. Jelaskan inner join, left join, right join dan full join beserta contohnya?
3. Bagaimana perbedaan antara inner join, left join, right join dan full join?
1.3 Tujuan Penulisan
1. Mahasiswa dapat memahahi tabel joins dan relasinya.
2. Mahasiswa dapat menjelaskan inner join, left join, right join dan full join beserta
contohnya.
contohnya.
3. Mahasiswa dapat mengetahui perbedaan antara inner join, left join, right join dan full join.
BAB II
PEMBAHASAN
2.1 Pengertian Joins Table
Query atau juga sering disebut dengan SQL singkatan dari Structured Query Language adalah suatu bahasa yang digunakan untuk mengakses database. (Achmad Solichin, 2010).
Secara singkat join merupakan sarana untuk menggabungkan kolom dari satu tabel atau lebih banyak tabel. Join diperlukan karena perancangan table pada sistem transaksional kebanyakan di-normalisasi, salah satu alasannya untuk menghindari redundansi. Joins topik menjadi hal yang paling disalahpahami di antara pengguna SQL. Demi kesederhanaan dan kemudahan pemahaman, kita akan menggunakan Database baru untuk mempraktikkan sampel. Seperti yang ditunjukkan di bawah ini:
Yaitu penggabungan tabel-tabel menggunakan Query yang dilakukan melalui kolom/key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap yang artinya kolom data didapatkan dari kolom kolom hasil join antar tabel tersebut.
Bisa kita lihat bahwa, diatas ini merupakan sebuah relasi dari tabel members dan movies, field/kolom movie_id pada tabel members saling berhubungan dengan field/kolom movie_id pada tabel movies.
2.2 Jenis-Jenis Joins
Cara kerja join ialah dengan mencari kecocokan kolom tertentu pada sebuah tabel dengan kolom tertentu pada tabel lain, kemudian menampilkan hasilnya sebagai satu set data gabungan. Secara garis besar, terdapat 3 macam join, yaitu INNER JOIN, LEFT JOIN dan RIGHT JOIN.
2.2.1 Inner Join
Definisi dan Kegunaan inner join adalah sebagai berikut:
- Digunakan untuk mengembalikan baris dari kedua tael yang memenuhi kondisi yang diberikan.
- Digunakan untuk menampilkan data dari dua atau lebih tabel dengan menggunakan operator perbandingan pada kolom yang terdapat di tabel-tabel tersebut.
- Baris yang sesuai dengan kondisi join akan ditampilkan sedangkan yang tidak sesuai akan dieliminasi
Misalkan, anda ingin mendapatkan daftar anggota yang telah menyewa film bersama dengan judul film yang disewa oleh mereka. Anda bisa menggunakan inner join untuk itu, yang mengembalikan baris dari kedua tabel yang sesuai dengan kondisi yang ada.
SELECT members.first_name, members.last_name, movies.movie_id, movies.title
FROM members, movies
WHERE members.movie_id = movies.movie_id
Hasil dari script sql I di atas pada phpmyadmin menjadi:
Hasil dari script sql I di atas pada cmd menjadi:
Script dengan hasil yang sama:
Sript II
SELECT a.movie_id, a.name, b.movie_id, b.title
FROM members AS a
INNER JOIN movies AS b
ON a. movie_id = b.movie_id
Script III
SELECT a.movie_id, a.name, b.movie_id, b.title
FROM members a INNER JOIN movies b
ON a.movie_id = b.movie_id
Script IV
SELECT a.movie_id, a.name, b.movie_id, b.title
FROM members a
INNER JOIN movies b ON (a.movie_id = b.movie_id)
2.2.2 Left Join
Definisi dan Kegunaan left join adalah sebagai berikut:
- Left join termasuk outer join yang digunakan untuk mengembalikan semua record yang cocok dari kedua tabel. Ini bisa mendeteksi record yang tidak cocok di tabel join dan mengembalikan niai NULL untuk catatan tabel join jika tidak ada yang cocok.
- Menghasilkan semua baris yang terdapat pada tabel yang disebutkan di sebelah kiri keyword LEFT OUTER JOIN yang akan digabungkan dengan aris yang sesuai pada tabel yang disebutkan disebelah kanan keyword LEFT OUTER JOIN.
- Jika baris disebelah kiri tidak memiliki pasangan pada tabel sebelah kanan, maka nilai yang akan tampil adalah NULL (disebelah kanan NULL nya).
Dalam contoh kita, mari kita asumsikan bahwa Anda perlu mendapatkan nama anggota dan film yang disewa oleh mereka. Sekarang kita memiliki anggota baru yang belum menyewa film apapun. Kita dapat menggunakan left join untuk tujuan ini.
Left join mengembalikan semua baris dari tabel di sebelah kiri meskipun tidak ada baris yang cocok ditemukan di tabel di sebelah kanan. Dimana tidak ditemukan kecocokan pada tabel di sebelah kanan, NULL dikembalikan.
Script I Left Join:
SELECT a.member_id, a.name, b.movie_id, b.title
FROM members AS a
LEFT OUTER JOIN movies AS b
ON a.movie_id = b.movie_id
Script II:
SELECT a.member_id, a.name, b.movie_id, b.title
FROM members a
LEFT OUTER JOIN movies b ON (a.movie_id = b.movie_id)
Melaksanakan skrip I dan II (sama) di atas pada phpmyadmin dan cmd. Dapat dilihat bahwa dalam hasil yang dikembalikan yang tercantum di bawah ini untuk film yang tidak disewa, movie_id dan title memiliki nilai NULL. Itu berarti tidak ada member_id atau member (nico) yang berelasi.
Catatan: Null dikembalikan untuk baris yang tidak cocok di kanan
2.2.3 Right Join
Definisi dan Kegunaan right join adalah sebagai berikut:
- Right join termasuk outer join yang digunakan untuk mengembalikan semua record yang cocok dari kedua tabel. Ini bisa mendeteksi record yang tidak cocok di tabel join dan mengembalikan niai NULL untuk catatan tabel join jika tidak ada yang cocok.
- Menghasilkan semua baris yang terdapat pada tabel yang disebutkan di sebelah kanan keyword RIGHT OUTER JOIN yang akan digabungkan dengan aris yang sesuai pada tabel yang disebutkan disebelah kiri keyword RIGHT OUTER JOIN.
- Jika baris disebelah kanan tidak memiliki pasangan pada tabel sebelah kiri, maka nilai yang akan tampil adalah NULL (disebelah kiri NULL nya).
Asumsikan sekarang anda ingin mendapatkan judul semua film bersama dengan nama member yang telah menyewanya. Jelas bahwa beberapa film tidak disewa oleh siapa pun. Kita bisa menggunakan right join untuk tujuan itu.
Sript Right Join:
SELECT a.member_id, a.name, b.movie_id, b.title
FROM membersAS a
RIGHT JOIN movies AS b
ON a.movie_id = b.movie_id
Catatan: Null dikembalikan untuk baris yang tidak cocok di sebelah kiri
2.2.4 Full Join
Penggunaan FULL JOIN adalah untuk menampilkan kedua table dengan record – record yang bersesuaian saja. Field yang berelasi ditampilkan sekali di awal table atau paling kiri.
Penggunaan FULL JOIN adalah untuk menampilkan kedua table dengan record – record yang bersesuaian saja. Field yang berelasi ditampilkan sekali di awal table atau paling kiri.
Script I Full Join:
SELECT * FROM members FULL JOIN movies USING(movie_id);
Melaksanakan skrip di atas pada cmd memberikan hasil sebagai berikut:
Script II sql dibawah ini akan menampilkan semuanya atau secara keseluruhan:
Jika dijalankan dengan phpmyadmin seperti ini:
BAB III
PENUTUP
3.1 KESIMPULAN
1. Table Joins adalah penggabungan tabel-tabel menggunakan query yang dilakukan melalui kolom/key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap yang artinya kolom data didapatkan dari kolom kolom hasil join antar tabel tersebut.
2. Joins memungkinkan kita menggabungkan data dari lebih dari satu tabel ke dalam kumpulan hasil tunggal.
3. Jenis join utama termasuk inner, left outer join, right outer join, full outer join.
4. Left Join menghasilkan baris disebelah kiri tidak memiliki pasangan pada tabel sebelah kanan, maka nilai yang akan tampil adalah NULL.
5. Right Join menghasilkan baris disebelah kanan tidak memiliki pasangan pada tabel sebelah kiri, maka nilai yang akan tampil adalah NULL.
6. Full joins menghasilkan kedua table dengan record – record yang bersesuaian saja. Field yang berelasi ditampilkan sekali di awal table atau paling kiri.
7. Selain klausa on juga ada where, using tetapi yang lebih sering digunakan dalam operasi joins adalah on. Klausa join mengharuskan kolom yang cocok diberi nama yang sama.
3.2 SARAN
1. Sebelum membuat tabel join di cmd atau phpmyadmins alangkah baiknya membuat rancangan tabel supaya gampang dan terstruktur.
2. Sebaiknya harus lebih teliti lagi dalam mengetik script di command prompt atau cmd karena jika salah akan terjadi eror walaupun bisa diulang lagi jika terus seperti itu akan menghambat waktu.
DAFTAR PUSTAKA
Privida Kristiona. 2015. Pemograman Stored Procedure pada MySQL. Yogyakarta: C.V ANDI OFFSET (Penerbit Andi).
Achmad Solichin. 2010. MySQL 5 Dari Pemula Hingga Mahir. Jakarta: Achmad Solichin.
Artikelnya emang paling jempol dah 👍
BalasHapusempat jempol biar greget wkwkwk
Hapusmantap gan..sangat bermanfaat
BalasHapusterima kasih sekali , bermanfaat banget , adakah penjelasan subquery ?
BalasHapusmantap bang, sangat bermanfaat sekali Alhamdulillah terpenuhi deh buat tambahan materi kuliah, terimakasih ya bang, salam kenal ya bang.. nama saya Abdurrahman Fadhillah, sekarag sedang kuliah di ISB Atma Luhur Kota Pangkalpinang, babel jangan lupa mampir ke website nya bang di https://www.atmaluhur.ac.id/
BalasHapusTerima kasih untuk penjelasannya,writer,karena membantu saya dalam memahami materi pembelajaran kuliah,nama saya Muhammad Akbar Hamdalah mahasiswa dr ISB atma luhur,tolong di cek jg website kampus kami https://www.atmaluhur.ac.id/
BalasHapusyuhuuu...bermanfaat min
BalasHapusSolder temperatur