SQL Join : Menggabungkan Tabel Dengan Join

Posted by Admin on 30 September 2020, 20:09:51 KATEGORI : Database TAG : database, join, mariadb, mysql, sql

Biasanya saat mengambil data kita akan mengakses beberapa tabel secara bersamaan. Salah satu cara mengambil data dari beberapa tabel sekaligus dapat dilakukan dengan menggunakan join.

Apa itu join?

Join adalah cara untuk menghubungkan data yang diambil dari tabel-tabel melalui sebuah kolom yang menghubungkan mereka.

Mengapa join itu penting?

Join memperbolehkan kita untuk mengambil data dari beberapa tabel melalui satu query. Hanya menggunakan sebuah tabel artinya kita hanya dapat menyimpan/memperoleh data yang terbatas atau justru menyimpan/memperoleh data yang terlalu banyak sehingga tabelnya menjadi kurang baik. Join menghubungkan satu tabel dengan tabel yang lain (inilah yang dimaksud dengan relational dari istilah relational database).

Beberapa Jenis Join

Berikut ini adalah empat tipe join di SQL (bersama tiga variannya)

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

Referensi

  • https://www.tutorialspoint.com/sql/sql-using-joins.htm
  • https://www.w3schools.com/sql/sql_join.asp
  • https://www.codepolitan.com/tujuh-teknik-join-di-sql-596c537f0deb3