Tujuan :
1. Mahasiswa memahami perintah-perintah SQL untuk pengambilan data dari multiple tabel.
2. Memahami tipe-tipe join.
3. Memahami tentang cartesian product.
4. Memahami tentang penggabungan tabel.
5. Memahami bagaimana mengambil data dari joined table.
Tugas Pendahuluan :
1. Apa yang anda ketahui tentang JOIN?
2. Sebutkan macam-macam JOIN pada tabel!
3. Apakah perbedaan Left JOIN dengan Right JOIN?
DASAR TEORI
Tipe-tipe join
Di dalam database, ada kalanya kita membutuhkan data dari beberapa tabel yang saling
berhubungan. Untuk mendapatkan data dari beberapa tabel tersebut dapat digunakan perintah JOIN
pada perintah SQL (Alam, 2005).
– Inner Join
– Outer Join
Left Join
Right Join
Cartesian Products
Cartesian Product kadangkala disebut juga sebagai Cross Join. Bila menggunakan Cross
Join, maka hasil dari Cross Join akan menciptakan hasil yang didasarkan pada semua kemungkinan
kombinasi baris dalam kedua set data. Dengan demikian, jumlah baris yang dikembalikan adalah N
x M, dimana N adalah jumlah baris dalam kumpulan data A dan M jumlah baris dalam kumpulan
data B. Jelas, jumlah baris dalam Cross Join dapat menjadi sampah (Alam, 2005). Bentuk perintah
dari Cross Join adalah :
SELECT field1, field2, fieldn FROM tabel1
CROSS JOIN tabel2
atau
SELECT field1, field2, fieldn FROM tabel1, tabel2
Penggabungan tabel
Selain menggunakan cara konvensional, pengambilan data dan penampilan informasi dari
dua tebel dapat juga dilakukan dengan perintah operator JOIN. Fungsi dari operator ini adalah
untuk menggabungkan data-data dari dua buah tabel atau lebih. Operator JOIN ini berlaku pada
tabel biasa ataupun VIEW. Pada dasarnya ada tiga macam operasi JOIN menggunakan operator
JOIN (Octaviani, 2010). Berikut akan dijelaskan masing-masing.
2. Outer Join
Pada Outer JOIN ini data pada tabel pertama tetap diikutkan walaupun tidak
memiliki hubungan apapun pada tabel kedua. Ada dua macem Outer JOIN yaitu Left Outer
JOIN dan Right Outer JOIN.
Left Outer JOIN akan menampilkan data pada tabel kiri walaupun tidak memiliki
relasi pada tabel di bagian kanan, bentuk querinya sebagai berikut.
KEGIATAN PRAKTIKUM
Agar lebih memperdalam pemahaman kita tentang fungsi-fungsi SQL diatas, silahkan coba
Queri dibawah ini pada database “Toko” yang anda buat.
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
Outer Join
Untuk 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
Gambar 4.2 Hasil Outer Join pada Tabel Pembelian.
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
Cartesian Products
SELECT Barang.ID_Barang,Pembelian.ID_Pembeli,
Pembelian.Nama_Pembeli,Barang.Nama_Barang
FROM Barang CROSS JOIN Pembelian
Gambar 4.4 Hasil dari Cartesian Products.
TUGAS
1. Cobalah masing-masing perintah join yang sudah anda praktikkan dengan
menggunakan data base Mahasiswa yang anda buat!
Buatlah kesimpulan tentang perbedaan klausa antaran Right join dan Left join!