×

Menggabungkan 2 tabel – JOIN SQL

Menggabungkan 2 tabel – JOIN SQL

18,315 Views

Operasi menggabungkan sebuah 2 tabel didalam SQL dinamakan operasi join table yang melibatkan primary dan foreign key untuk mendapatkan irisan data. Terkadang Operasi Join banyak melibatkan beberapa tabel  menjadi satu kesatuan.

Operasi join merupakan core database karena kekuatan dalam relational nya yang mampu menggabungkan banyak tabel dan saling berhubungan. Keuntungan nya yaitu memisahkan antara tabel master dan tabel transaksi. Bagi kalian wajib tahu dan mengerti operasi Join. Yuk kita pelajari secara singkat Menggabungkan 2 tabel – JOIN SQL

Misalkan ada 2 tabel yang akan kita gabungkan jadi 1 yaitu data_desa berisi nama desa dan data_transaksi berisi informasi harian mengenai transaksi yang dicatat per bulan Masing-masing mempunyai primary key nya yaitu

  1. Tabel data­_desa dengan primary key yaitu id_desa
  2. Tabel data_transaksi dengan primary key yaitu id_transaksi

kalian bisa melihat pada tabel data_transaksi terdapat 2 kali transaksi id_desa yang melakukan transaksi  yaitu pada bulan 1 dan 2. Kemudian kita akan gabungkan akan dapat informasi sebagai berikut

pada contoh diatas, kita bisa menggunakan  joint right dengan kode SQL sebagai berikut

SELECT data_desa.nama_desa, data_desa.id_desa,count(data_transaksi.bulan) as jumlah_transaksi
FROM data_transaksi
RIGHT join data_desa
ON
data_desa.id_desa = data_transaksi.id_desa
GROUP BY data_desa.id_desa

Maka hasilnya sebagai berikut

Sebenarnya ada 7 teknik joint didalam SQL yaitu

1. Inner Join

Inner join mungkin tipe join yang paling banyak dipakai. Inner join mengembalikan baris-baris dari dua tabel atau lebih yang memenuhi syarat.

SELECT columns
FROM TableA
INNER JOIN TableB
ON A.columnName = B.columnName;

2. Left [Outer] Join

Left outer join (sering disingkat left join) akan mengembalikan seluruh baris dari tabel disebelah kiri yang dikenai kondisi ON dan hanya baris dari tabel disebelah kanan yang memenuhi kondisi join.

 

SELECT columns
FROM TableA
LEFT OUTER JOIN TableB
ON A.columnName = B.columnName

3. Left [Outer] Join without Intersection

Join ini merupakan variasi dari left outer join. Pada join ini kita hanya akan mengambil data dari tabel sebelah kiri yang dikenai kondisi ON yang juga memenuhi kondisi join tanpa data dari tabel sebelah kanan yang memenuhi kondisi join.

 

SELECT columns
FROM TableA
LEFT OUTER JOIN TableB
ON A.columnName = B.columnName
WHERE B.columnName IS NULL

4. Right [Outer] Join

Right outer join (sering disingkat right join) akan mengembalikan semua baris dari tabel sebelah kanan yang dikenai kondisi ON dengan data dari tabel sebelah kiri yang memenuhi kondisi join. Teknik ini merupakan kebalikan dari left outer join.

 

SELECT columns
FROM TableA
RIGHT OUTER JOIN TableB
ON A.columnName = B.columnName

5. Right [Outer] Join without Intersection

Teknik ini merupakan variasi dari right outer join. Pada join ini kita hanya akan mengambil data dari tabel sebelah kanan yang dikenai kondisi ON yang juga memenuhi kondisi join tanpa data dari tabel sebelah kanan yang memenuhi kondisi join.

SELECT columns
FROM TableA
RIGHT OUTER JOIN TableB
ON A.columnName = B.columnName
WHERE A.columnName IS NULL

6. Full [Outer] Join

Full outer join (sering disingkat full join) akan mengembalikan seluruh baris dari kedua tabel yang dikenai ON termasuk data-data yang bernilai NULL.

SELECT columns
FROM TableA
FULL JOIN TableB
ON A.columnName = B.columnName

7. Full [Outer] Join without Intersection

Variasi lain dari full outer join yang akan mengembalikan seluruh data dari kedua tabel yang dikenai ON tanpa data yang memiliki nilai NULL.

 

SELECT columns
FROM TableA
FULL JOIN TableB
ON A.columnName = B.columnName
WHERE A.columnName IS NULL
OR B.columnName IS NULL

Operasi Join SQL pada SQlite

Berbeda dengan SQlite yang hanya mendukung operasi join inner, outer, dan cross join – Belajar Database Relational SQL Lite Bagian 4 – Join Table

 

You May Have Missed