Modul Join
Modul Join
Tujuan :
Tugas Pendahuluan :
DASAR TEORI
Tipe-tipe join
Di dalam database, ada kalanya membutuhkan data dari beberapa tabel yang saling berhubungan.
Untuk mendapatkan data dari beberapa tabel tersebut dapat digunakan perintah JOIN pada perintah
SQL (Alam, 2005). Fungsi dari operator ini adalah untuk menggabungkan data-data dari dua buah
tabel atau lebih. Operator JOIN ini berlaku pada tabel biasa ataupun VIEW. Untuk mengambil
data dari kombinasi dua tabel atau lebih bisa menggunakan JOIN. MySQL menyediakan fasilitas
penggabungan dan JOIN tabel antara lain [5]:
• Cartesian product (CROSS JOIN)
• INNER JOIN
• LEFT JOIN (LEFT OUTER JOIN)
• RIGHT JOIN (RIGHT OUTER JOIN)
a. Cartesian Products
Cartesian product atau disebut pula sebagai cross join akan menciptakan hasil yang didasarkan
pada semua kemungkinan kombinasi tuple dalam kedua set data. Dengan demikian, jumlah tuple
yang dikembalikan adalah N x M, dimana N adalah jumlah tuple dalam tabel A dan M jumlah
tuple dalam tabel B. Bentuk perintah dari CROSS JOIN pada MySQL adalah :
b. INNER JOIN
INNER JOIN ini merupakan perintah JOIN yang paling umum yang dapat digunakan pada semua
basis data. Penggabungan hanya dilakuakan pada dua buah tabel yang telah merelasikan field-nya.
Maksudnya adalah data pada tabel pertama akan dihubungkan dengan data pada tabel kedua
apabila nilai field yang dijadikan patokan relasi kedua tabel memiliki nilai yang sama Perbedaan
antara EQUI JOIN dan INNER JOIN terletak pada tuple yang dikembalikan (return). EQUI JOIN
mengembalikan tuple yang memiliki isi yang sama pada field tertentu. Sedangkan dua atau lebih
tabel yang digabungkan pada INNER JOIN hanya mengembalikan tuple yang memenuhi syarat
penggabungan. Bentuk baku perintah INNER JOIN :
c. LEFT JOIN
LEFT JOIN (left outer join) akan menampilkan data pada tabel kiri walaupun tidak memiliki relasi
pada tabel di bagian kanan, bentuk perintahnya sebagai berikut:
d. RIGHT JOIN
RIGHT JOIN (right outer join) akan menampilkan data pada tabel disebelah kanan walaupun tidak
mempunyai data yang berhubungan dengan tabel disebelah kirinya. Bentuk perintahnya sebagai
berikut:
KEGIATAN PRAKTIKUM
Agar lebih memperdalam pemahaman tentang fungsi-fungsi MySQL diatas, silahkan coba
perintah dibawah ini pada basis data “toko” yang anda buat.
a. Cartesian Products
Untuk mendapatkan hasil cartesian product dapat digunakan 2 perintah berikut:
SELECT barang.id_barang, pembelian.id_pembeli,
pembelian.nama_pembeli, barang.nama_barang
FROM barang, pembelian;
SELECT barang.id_barang, pembelian.id_pembeli,
pembelian.nama_pembeli, barang.bama_barang
FROM barang
CROSS JOIN pembelian;
b. INNER JOIN
SELECT barang.id_barang, pembelian.id_pembeli,
pembelian.nama_pembeli, barang.nama_barang
FROM barang
INNER JOIN pembelian
ON barang.id_barang = pembelian.id_barang;
c. LEFT JOIN
SELECT barang.id_barang, pembelian.id_pembeli,
pembelian.nama_pembeli, barang.nama_barang
FROM barang
LEFT JOIN pembelian
ON barang.id_barang = pembelian.id_barang;
d. RIGHT JOIN
SELECT barang.id_barang, pembelian.id_pembeli,
pembelian.nama_pembeli, barang.nama_barang
FROM barang
RIGHT JOIN pembelian
ON barang.id_barang = pembelian.id_barang;
Buatlah database perusahaan dengan menggunakan mySQL melalui CMD.
buat dan inputkan data seperti ini. Buat penggabungan tabel dengan perintah join:
1. Inner join
2. Left Join
3. Right Join
4. Full Join
5. Self Join
*untuk soal 1 sampai 5 tentukan sendiri tabel yang digunakan untuk melakukan perintah join.
Tabel Penempatan
Tabel Pegawai
Tabel Jabatan
Tabel Gaji
Tabel Divisi
Buatlah screenshoot syntax dan hasil SQL, berikan penjelasan. File yang dikumpul memiliki format .pdf.