Menggabungkan 2 tabel – JOIN SQL

By | June 14, 2020
Print Friendly, PDF & Email

Operasi menggabungkan sebuah 2 tabel didalam SQL dinamakan operasi join table yang melibatkan primary dan foreign key untuk mendapatkan irisan data. Misalkan contoh berikut ada 2 tabel

  1. Tabel data­_desa dengan primary key yaitu id_desa berisi data desa

Tabel data_transaksi dengan primary key yaitu id_transaksi berisi informasi harian mengenai transaksi yang dicatat per bulan, kalian bisa melihat id_transaksi 1 dan 2 ada id_desa yang melakukan transaksi sebanyak 2 kali 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

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;

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

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

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

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

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

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

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *