0% menganggap dokumen ini bermanfaat (0 suara)
140 tayangan5 halaman

Join Table

Modul ini membahas tentang pengambilan data dari banyak tabel dalam SQL melalui JOIN, termasuk tipe-tipe JOIN seperti Cartesian product, INNER JOIN, LEFT JOIN, dan RIGHT JOIN beserta contoh kode SQL untuk setiap tipe JOIN.

Diunggah oleh

Dwi Setiyawan
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
140 tayangan5 halaman

Join Table

Modul ini membahas tentang pengambilan data dari banyak tabel dalam SQL melalui JOIN, termasuk tipe-tipe JOIN seperti Cartesian product, INNER JOIN, LEFT JOIN, dan RIGHT JOIN beserta contoh kode SQL untuk setiap tipe JOIN.

Diunggah oleh

Dwi Setiyawan
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

MODUL III

PENGAMBILAN DATA DARI BANYAK TABEL

Tujuan :
1. Mahasiswa memahami perintah-perintah SQL untuk pengambilan data dari banyak tabel.
2. Mahasiswa mampu memahami tipe-tipe join.
3. Mahasiswa mampu memahami tentang cartesian product.
4. Mahasiswa mampu memahami tentang penggabungan tabel.
Tugas Pendahuluan :
1. Apa yang anda ketahui tentang JOIN?
2. Sebutkan macam-macam JOIN !
3. Apakah perbedaan Left JOIN dengan Right JOIN?

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 :

SELECT [field1], [field2], [..] FROM [tabel_A]


CROSS JOIN [tabel_B];
atau
SELECT [field1], [field2], [..] FROM [tabel_A], [tabel_B];

1
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 :

SELECT [field1], [field2], [..], [fieldn]


FROM [tabel_A]
INNER JOIN [tabel_B]
ON [tabel_A].[field key] = [tabel_B].[field_key];

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:

SELECT [field1], [field2], [..], [fieldn]


FROM [tabel_A]
LEFT JOIN [tabel_B]
ON [tabel_A].[field key] = [tabel_B].[field_key];

Atau
SELECT [field1], [field2], [..], [fieldn]
FROM [tabel_A]
LEFT OUTER JOIN [tabel_B]
ON [tabel_A].[field key] = [tabel_B].[field_key];

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:

2
SELECT [field1], [field2], [..], [fieldn]
FROM [tabel_A]
RIGHT JOIN [tabel_B]
ON [tabel_A].[field key] = [tabel_B].[field_key];

Atau
SELECT [field1], [field2], [..], [fieldn]
FROM [tabel_A]
RIGHT OUTER JOIN [tabel_B]
ON [tabel_A].[field key] = [tabel_B].[field_key];

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
CROSS JOIN pembelian

Atau
SELECT barang.id_barang, pembelian.id_pembeli,
pembelian.nama_pembeli, barang.nama_barang
FROM barang, pembelian

Hasil dari kedua perintah tersebut sama-sama cartesian product. Dapat diperhatikan pula
bahwa CROSS JOIN tidak memerlukan perintah ON, karena tidak diperlukan pencocokan field.
Gambar 4.1 merupakan hasil kedua perintah diatas.

3
Gambar 3.1 Hasil dari CROSS JOIN
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

Gambar 3.2 Hasil INNER JOIN pada tabel pembelian

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

4
Gambar 3.3 Hasil LEFT JOIN pada tabel pembelian
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

Gambar 3.4 RIGHT JOIN pada tabel pembelian

Anda mungkin juga menyukai