SQL Join

Pengertian

Join dapat diartikan sebagai pengabungan dari dua atau lebih record data base.

Jenis Jenis

Ada beberapa jenis join dalam sql, yaitu :

  1. Inner Join
  2. Outer Join
  3. Union
  4. Cross Join

Untuk mempermudah memahami mari langsung kita praktikan. Pertama buat tabel seperti berikut dengan nama karyawan (disini saya beri nama kar biar lebih singkat)

Kemudian buat tabel baru dengan nama departemen (saya berinama dep biar singkat)

Jika langsung saja kita menuju ke praktik pertama

1. Inner join

Inner join merupakan fungsi dimana kita akan memunculkan primary key data yang mempunyai nama data dan value yang sama .

Contohnya dari kedua tabel di atas terdapat dua data yang sama yaitu id_dep. Untuk menggunakan fungsi inner join kita tinggal menuliskan syntax berikut.

Select A1,A2 from R1 inner join R2 on R1.Prikey = R2.Prikey ;

Jadi dari syntax di atas dapat kita simpulkan bahwa

  • A1, A2 adalah nama data yang ingin di munculkan (bisa menggunakan tanda * untuk memunculkan semua data)
  • R1 adalah nama data 1 (kar) dan R2 adalah nama data 2 (dep)
  • prikey adalah primary key yang akan kita join / gabungkan

Untuk contohnya bisa kalian lihat gambar berikut

Sebernarnya untuk mempermudah kita dapat menggunakan implisit seperti berikut.

SELECT A1,A2 FROM R1, R2 WHERE R1.Prikey = R2.Prikey;

Dan kita juga dapat menggunakan alias pada syntax inner join untuk mempermudah dengan cara seperti berikut.

Select * from kar k inner join dep d on k.id_dep = d.id_dep;

Dari syntax di atas kita dapat mengetahui bahwa tabel kar kita beri inisial k dan dep berinisial d. Implisit dan penggunaan alias juga bisa kita gunakan pada fungsi join yang lain.

2. Outer join

Nah pada outer join dibagi menjadi 3, yaitu left outer join, right outer join, dan full outer join.

A. Left outer join

Left outer join digunakan untuk menggabungkan / memunculkan semua data yang ada pada data dari tabel kiri dengan data dari tabel kanan yang sesuai atau sama.

Sebenarnya hampir sama seperti inner join hanya saja jika inner join hanya memunculkan value dari primary key yang sama maka left outer join akan memunculkan semua data pada tabel kiri dan value primary key yang sama pada table kanan. Untuk menggunakan left outer join kita tinggal menuliskan syntax berikut.

Select A1,A2 from R1 left outer join R2 on R1.Prikey = R2.Prikey ;

Untuk contohnya seperti gambar berikut.

Pada gambar di atas ada beberap value null, hal itu terjadi dikarenakan pada tabel dep tidak terdapat value untuk data ke 16 dan 17 pada id_dep.

B. right outer join

Sebenarnya right join sama seperti left join namun dalam bentuk terbalik. Untuk syntaxnya seperti berikut.

Select A1,A2 from R1 right outer join R2 on R1.Prikey = R2.Prikey ;

Dan untuk contohnya seperti gambar di bawah ini.

C. Full outer join

Untuk full outer join sendiri kita akan menampilakan semua data pada tabel kiri dan kanan. Dan untuk syntaxnya seperti berikut.

Select A1,A2 from R1 full outer join R2 on R1.Prikey = R2.Prikey ;

3. union

Union merupakan fungsi yang digunakan untuk menggabungkan semua data kemudian menseleksi data yang sama sehingga data yang sama hanya dimunculkan sekali. Nah untuk union terbagi menjadi 2 yaitu union dan union all. Untuk bedanya sendiri Union all tidak menseleksi data yang sama sehingga data yang sama juga ikut dimunculkan semua. Untuk syntax union adalah seperti berikut.

Select A1,A2 from R1 union select A1,A2 from r2;

Dan utuk union all adalah seperti berikut.

Select A1,A2 from R1 union all select A1,A2 from r2;

4. Cross Join

Sebenarnya merupakan Inner join hanya saja semua data pada tabel a akan di samakan dengan setiap data di tabel b, mirip mirip dengan himpunan. Untuk syntaxnya seperti berikut.

Select * from kar cross join dep;

Atau kalian dapat menggunakan syntax implisit berikut.

Select * from kar,dep;

Dan untuk contoh hasilnya seperti gambar berikut.

Ok sekian dulu untuk post atau materi kali ini semoga bermanfaat. Terima Kasih

Leave a comment