Anda di halaman 1dari 8

Dosen Pengampu : Anton Topadang, S.KOM., M.CS.

Disusun Oleh : Yordan Belo


NIM : 221611186
Semester : 2 (Dua)

UNIVERSITAS KRISTEN INDONESIA TORAJA


FAKULTAS TEKNIK
TEKNIK INFORMATIKA
2022
BAB 10
PENGGABUNGA DATA

1. Natural Join
Natural join adalah penggabungan data dari dua table yang didasarkan pada pada kolom
dengan nama yang sama pada kedua table tersebut. Penggabungan ini mencerminkan
hubungan antara foreign key dan primary key dalam dua table.
Contoh penggunaan NATURAL JOIN dapat diliat seperti berikut :

Mysql> SELECT nip, nama_bag FROM bagian NATURAL JOIN


pekerjaan;

NATURAL JOIN pada prinsipnya dapat digunakan beberapa kali dalam sebuah
pernyataan SELECT. Contoh berikut menunjukkan cara untuk mendapatkan informasi
mengenai nama pegawai, nama bagian dan gaji.

Mysql> SELECT nama, nama_bag, gaji FROM infoprib


-> NATURAL JOIN pekerjaan
-> NATURAL JOIN bagian;
2. Cross Join ( Perkalian Kartesian )
Bentuk sederhana dari penggabungan dua buah table akan membentuk perkalian
kartesian ( Cartesian product ) atau yang biasa dikenal dengan sebutan CROSS JOIN atau
FULL JOIN. Hal ini diperoleh jika klausa WHERE tidak disebutkan. Sebagai contoh terdapat
dua table sebagai berikut :

Maka jika dikenakan CROSS JOIN maka menjadi :

Hal ini sama dengan perintah SQL sebagai berikut SELECT * FROM r, s;
Perhatiakan bahwa setiap nama pegawai akan dipasangkan dengan setiap nama
bagian maka perintah SQL adalah sebagai berikut :
Mysql> SELECT i.nama, b.nama_bag FROM infoprib i, bagian b;
Juga dapat ditulis sebagai berikut :
Mysql> SELECT nama, nama_bag FROM infoprib CROSS JOIN
bagian;

Pada MySQL, CROSS JOIN dapat diikuti dengan suatu kondisi penggabungan berbentuk :
• ON kondisi
• USING ( daftar kolom )
Contoh berikut memperlihatkan penggunaan ON pada CROSS JOIN.
Mysql> SELECT nip, nama_bag FROM pekerjaan
-> CROSS JOIN bagian
-> ON bagian.kode_bag=pekerjaan.kode_bag;

Contoh berikut memperlihatkan penggunaan USING pada CROSS JOIN.


Mysql> SELECT nip, nama_bag FROM pekerjaan
-> CROSS JOIN bagian USING(kode_bag);

3. Inner Join dan Outer Join


Equijoin sering dibedakan menjadi dua kategori yakni inner join dan outer join.
Untuk melihat perbedaannya maka kita perhatikan contoh berikut ini :

Mysql> SELECT bagian.nama_bag, pekerjaan.gaji FROM


pekerjaan
-> INNER JOIN bagian ON pekerjaan.kode_bag =
bagian.kode_bag;

Nama bagian akutansi tidak ditampilkan karena data tersebut sudah tidak ada ditemukan
pada table bagian.
Penggunaan lebih lanjut bisa menggunakan NATURAL LEFT JOIN atau NATURAL RIGHT
JOIN. Pada persoalan di atas kita dapat menggunakan NATURAL RIGHT JOIN,
pernyataannya sebagai berikut :

Mysql> SELECT bagian.nama_bag, pekerjaan.nip,


pekerjaan.gaji FROM bagian
-> NATURAL RIGHT JOIN pekerjaan;
Alternatif lain yakni dengan menggunakan LEFT JOIN atau RIGHT JOIN, akan tetapi mesti
mempergunakan ON dan USING untuk memuat suatu kondisi seperti halnya pada CROSS JOIN
diatas. Contoh :

Mysql> SELECT bagian.nama_bag, pekerjaan.gaji FROM


pekerjaan
-> LEFT JOIN bagian ON pekerjaan.kode_bag =
bagian.kode_bag;

Mysql> SELECT bagian.nama_bag, pekerjaan.gaji FROM


pekerjaan
-> LEFT JOIN bagian USING(kode_bag);
4. Operator Union
Operator UNION berguna untuk menggabungkan hasil dari dua buah query tanpa ad
baris yang kembar. Sebagai contoh :

Mysql> SELECT bagian.nama_bag, pekerjaan.nip,


pekerjaan.gaji
-> FROM bagian NATURAL RIGHT JOIN pekerjaan
-> UNION
-> SELECT bagian.nama_bag, pekerjaan.nip,
pekerjaan.gaji
-> FROM bagian NATURAL LEFT JOIN pekerjaan;

Anda mungkin juga menyukai