Anda di halaman 1dari 11

Macam macam join

 INNER JOIN,

yang pertama ada Inner Join. Kemudian apa sih inner join itu? jadi pada dasarnya inner join
adalah menemukan persimpangan atau intersection antara dua buah tabel dalam sebuah
database. Untuk lebih jelasnya saya berikan contoh begini, misal kita mempunyai dua buah
tabel yaitu tabel A dan B. Kemudian jika tabel A di inner join kan dengan tabel B maka
hasilnya hanya akan menampilkan data yang memiliki pesangan saja atau yang memiliki ke
samaan saja.

 RIGHT JOIN,

yang ke dua yaitu Right Join. fungsi dari right join hampir sama dengan inner join namun
pada right join akan membuat sebuah parameter pada sebelah kanan jika data pada table
terdapat data atau record yang kosong atau tidak berelasi maka akan berisi NULL. .

 LEFT JOIN,

yang ke tiga ada Left Join. fungsi dari left join hampir sama dengan inner join dan right join,
namun pada LEFT JOIN kebalikan dari RIGHT JOIN, jika pada right join akan membuat
sebuah parameter di sebelah kanan namun pada left join akan membuat sebuah parameter
dari table sebelah kiri, dan jika ada data atau record yang kosong atau tidak berelasi maka
akan berisi NULL di sebelah kanan
1. Full Outer Join

Full outer join (atau full join) pada hakekatnya merupakan kombinasi dari left dan right join.

 UNION

Perintah UNION dan UNION ALL pada query database MySQL Server digunakan untuk
menggabungkan 2 (dua) buah tabel melalui field yang sama dari kedua buah tabel tersebut.
Syarat utama dari 2 (dua) tabel atau lebih untuk menjalankan perintah UNION adalah sebagai
berikut : – Memiliki jumlah kolom (field) yang sama.- Kolom (field) harus memiliki tipe data
yang sama.- Kolom (field) di dalam query select urutannya harus sama.

Kegiatan Pembelajaran 1

Langkah – Langkah :

1. Dalam latihan ini digunakan dua buah tabel bernama karyawan dan departemen
dengan relationship bekerja pada. Struktur tabelnya diperlihatkan sebagai berikut:

 Data yang digunakan sebagai berikut

 Sebagaimana dijelaskan, inner join akan mengembalikan data di tabel A dan B yang
sesuai. Sebagai contoh, untuk mendapatkan data karyawan yang memiliki
departemen, eksekusi pernyataan atau perintah SQL berikut:

SELEECT * FROM karyawan INNER JOIN departemen


ON karyawan.id_dep = departemen.id_dep;
 Selain itu, dapat pula menggunakan bentuk implisit dari inner join di atas, yaitu
sebagai berikut :

SELECT * FROM karyawan, departemen


WHERE karyawan.id_dep = departemen.id_dep;

 Dalam pengambilan data ini, kita juga bisa menspesifikasikan field terkait. Sebagai
contoh, untuk mengambil nama karyawan dan nama departemen yang ditempatinya
saja, eksekusi perintah SQL berikut :

SELECT karyawan.nama, departemen.nama_dep FROM karyawan INNER JOIN departemen


ON karyawan.id_dep = departemen.id_dep;

 Perhatikan bahwa untuk menampilkan field tertentu saja, maka nama field tersebut
harus disebutkan secara eksplisit beserta nama tabel tempat field.
 Agar penulisan SQL lebih efisien, kita dapat memanfaatkan fitur “derived table” (atau
alias). Contohnya adalah sebagai berikut :

SELECT k.nama, d.nama_dep FROM karyawan k INNER JOIN departemen d ON k.id_dep =


d.id_dep;

 Pada pernyataan SQL di atas, tabel karyawan dinotasikan dengan huruf k dan tabel
departemen menggunakan huruf d. Perhatikan hasil eksekusi perintah SQL tersebut,
apakah sama dengan hasil eksekusi perintah SQL sebelumnya (yang tidak
menggunakan fitur (derived table) ?.

Kegiatan Pembelajaran 2

Langkah – Langkah :

1. Contoh penggunaan LEFT OUTER JOIN adalah sebagai berikut :

SELECT * FROM karyawan k LEFT OUTER JOIN departemen d ON


k.id_dep = d.id_dep;

 Perhatikan baris kedua dan keempat pada hasil eksekusi di atas, apa yang
menyebabkan timbulnya NULL value?..Jadi .. Yang menyebabkan NULL value
adalah id_dep dari Budi dan Dani tidak ada yang cocok dengan id_dep yang
mengandung nama departemenya jadi yang di tampilkan adalah NULL pada tabel
sebelah kiri karena menggunakan LEFT OUTER JOIN
 Apabila diperlukan, kita juga dapat menggunakan klausa WHERE di dalam join.
Sebagai contoh, untuk mendapatkan data karyawan yang tidak memiliki departemen,
eksekusi perintah SQL berikut :

SELECT * FROM karyawan k LEFT OUTER JOIN departemen d ON k.id_dep = d.id_dep


WHERE d.id_dep IS NULL;

 Dari hasil eksekusi di atas, dapat kita ketahui bahwa karyawan yang bernama Budi
dan Dani tidak memiliki departemen (nama departemennya tidak tercatat di dalam
tabel departemen).

 Contoh penggunaan RIGHT OUTER JOIN adalah sebagai berikut :

SELECT * FROM karyawan k RIGHT OUTER JOIN departemen d ON


k.id_dep = d.id_dep;

 Perhatikan kembali baris kedua dan keempat pada hasil eksekusi di atas, apa yang
menyebabkan timbulnya NULL value? Yang menyebabkan NULL value adalah
id_dep tidak ada yang cocok dengan id_dep yang mengandung nama jadi yang di
tampilkan adalah NULL karena menggunakan RIGHT OUTER JOIN maka yang
menampilkan null adalah tabel kiri yaitu nama dan id_dep
 Beberapa DBMS tidak mendukung fungsionalitas full outer join. Meski demikian,
join ini dapat disimulasikan dengan memanfaatkan UNION. Tekniknya ialah dengan
menggabung left join dan right join seperti perintah SQL berikut :

SELECT * FROM karyawan k LEFT OUTER JOIN departemen d ON k.id_dep = d.id_dep


UNION SELECT * FROM karyawan k RIGHT OUTER JOIN departemen d ON
k.id_dep = d.id_dep;

 Cross join pada hakekatnya merupakan inner join di mana kondisi join selalu
dievaluasi true. Secara matematis, jika A dan B merupakan dua himpunan, maka cross
join-nya sama dengan X. Contoh penggunaan CROSS JOIN adalah sebagai berikut :

SELECT *
FROM karyawan CROSS JOIN departemen;
 Atau dalam bentuk implisitnya :

SELECT * FROM karyawan, departemen;

Kegiatan Pembelajaran 3

Langkah – Langkah :

1. Buatlah tabel baru bernama karyawan2 pada database yang sama. Data tabelnya
adalah sebagai berikut.

Nama Id_dep
Dani 17
Anisa 18
Bagus 12

 Setelah itu coba lakukan penggabungan dengan perintah :

SELECT nama, id_dep FROM karyawan UNION SELECT nama, id_dep


FROM karyawan2;
 Lakukan perintah yang sama namun menggunakan UNION ALL. apa perbedaan
fungsi UNION dan UNION ALL.adalah jika UNION akan mengabungkan data dari
satu tabel dan menampilkan data yang memiliki nilai yang sama saja dan hanya di
tampilkan sekali saja , tapi kalau UNION ALL akan menampilkan seluruh data
walaupun ada nilai yang sama dan di tampilkan sebanyak data yang sama tersebut

Kegiatan Pembelajaran 4

STUDY KASUS

1. Buatlah database baru dengan nama Universitas. Lalu didalamnya terdapat tabel-
tabel berikut :
1. Tabel guru
Nip nama pengajar Asalkota
1 Steve Budi Ilmu komputer Bantul
2 Alan Schumacer Bahasa Indonesia Sola
3 James golling Ilmu komputer Klaten
4 Biily Gates Ilmu komputer Magetan

B.Tabel matapelajaran

nomp namamp jp
KOM101 Algoritma dan Pemrograman 3
KOM102 Basis Data 3
KOM201 Pemrograman Beorientasi Objek 3
SR101 Desain Elementer 3

C.Tabel kelas

nip nomp Ruangan Jmlsiswa1


1 KOM101 101 50
1 KOM102 102 35
2 SR101 101 45
3 KOM201 101 55

TUGASNYA….

1. Tampilkan Nomor dan matapelajaran yang pesertanya lebih dari 40 orang.


2. Tampilkan nip dan nama guru yang mengajar mata kuliah ‘Basis Data’
3. Tampilkan Total jumlah total siswa yang Diajar oleh ‘Steve Budi menggunakan
JOIN.

JAWABAN

1.Berikut ini adalah Nomor dan matapelajaran yang pesertanya lebih dari 40 orang.

Menggu
nakan cara Inner join seperti yang sudah di jelaskan tadi , dari code sql di atas atas akan
menampilkan data yang memiliki pesangan saja atau yang memiliki ke samaan saja. yaitu
pada tabel Kelas menggunakan inisial “K” ,dan tabel matapelajaran menggunakan inisial “M”
dan yang di inner join kan yaitu kesamaan pada “nomp” dimana yang di tampilkan hanya
jumlah siswa di atas 40 anak

2.Berikut ini adalah nip dan nama guru yang mengajar mata kuliah ‘Basis Data’

Masih
menggunakan cara Inner join seperti yang sudah di jelaskan tadi , dari code sql di atas atas
akan menampilkan data yang memiliki pesangan saja atau yang memiliki ke samaan saja.
yaitu pada tabel 3 tabel Guru menggunakan inisial g , Kelas menggunakan inisial “K” , dan
tabel matapelajaran menggunakan inisial “M”
yang di inner join kan yaitu kesamaan pada “nip” pada tabel Guru dan Kelas dimana tabel itu
memiliki filed nip maka program akan meng INNER JOIN kan keduanya
Selanjutnya menggunakan Syntax and yang berguna untuk menambahkan perkondisian dari
INNER JOIN, selanjutnya MEINNER JOINKAN tabel matapelajaran yang memiliki filed
nomp dan tabel Kelas yang memiliki filed nomp juga serta dengan tambahan perkondisian
WHERE namamp=”Basis data” artinya yang keluar hanyalah filed namamp yang
mengandung kata basis data

3.Berikut ini adalah menampilkan jumlah total siswa yang Diajar oleh ‘Steve Budi
menggunakan JOIN

Langkah pertama yaitu adalah dengan menambahkan Syntax SUM yang berfungsi untuk
menjumlahkan jumlah siswa dari tabel kelas dengan inisial K dan, berikutnya adalah
menggunakan alias untuk menamai filed yang akan muncul
Masih sama menggunakan INNER JOIN dari tabel Kelas dan Guru dimana yanag di INNER
JOINKAN adalah nip dari tabel guru dan nip dari tabel Kelas, Maka akan menampilkan nip
yang sama antar kedua tabel , dan yang di tampilkan sesuai syntax sql di atas sebelumnya
adalah jumlah siswa . Kemudian menggunakan perkondisian WHERE dengan nama Steve
budi Jadi nantinya akan mengambil nilai dari jumlah siswa dari nip yang sama dan dengan
aturan yang di ambil punyanya steve budi
EVALUASI

1.Jelaskan apa yang dimaksud dengan Relational database

pengertian relational database adalah database dengan tabel-tabel yang saling berhubungan
satu dengan yang lain. Secara praktis kita dapat memahami bahwa antar satu tabel memiliki
kaitan dengan tabel lain.

2.Sebut dan jelaskan macam macam join

Inner Join merupakan perintah untuk menampilkan semua data yang mempunyai nilai sama

Left Join merupakan cara menghubungkan tabel dan menampilkan semua data (kiri) pada
tabel yang tidak berhubungan, sedangkan data yang kosong akan bernilai NULL.

Right Join, fungsi ini hampir sama dengan fungsi Left Join ataupun kebalikannya, dimana
Right Join akan menghubungkan tabel dan menampilkan semua data (kanan) pada tabel yang
tidak berhubungan, dan data yang kosong akan bernilai NULL.

Union adalah fungsi untuk menggabungkan isi dari 2 tabel secara vertikal

3.Jelaskan apa yang dimaksud union

Union adalah fungsi untuk menggabungkan dua atau lebih query SELECT dalam satu hasil
keluaran saja. Dengan catatan kedua query SELECT tersebut harus memiliki jumlah field
yang sama.

Anda mungkin juga menyukai