Structurre Query Language kepanjangan dari SQL adalah sebuah Bahasa pemrograman yang digunakan untuk mengolah database.
Nah pada artikel ini kita akan fokus membahas apa itu join pada SQL.
Sebelum memahami perintah JOIN pada SQL sebaiknya simak terlebih dahulu tentang relasi antar tabel.
Apa itu Relationship Database
Didalam sebuah relationship, primary key memiliki peran penting untuk mengaitkan entitas. Selain itu, primary key juga digunakan untuk mendefinisikan batasan keterhubungan.
Beberapa hal yang harus kamu ketahui tentang foreign key & primary key:
- Harus unik
- Tabel hanya boleh memiliki satu primary key, namun dalam beberapa kasus boleh lebih dari 1 primary key (composite key)
- Tabel boleh memiliki lebih dari satu foreign key
- Foreign key digunakan untuk membuat relasi antar tabel
Ada beberapa jenis relasi database. Hari ini kita akan membahas jenis-jenis relasi database.
Berikut adalah jenis relasi database yang biasa digunakan:
- Relasi One to One
- Relasi One to Many dan Many to One
- Relasi Many to Many
- Relasi Referensi Mandiri
Ketika memilih data dari beberapa tabel dengan relasi ini, kita akan menggunakan SQL Query JOIN. Ada beberapa jenis Query JOIN, dan kita akan belajar tentang hal itu.
Relasi One to One
Relasi One to One adalah relasi yang mana setiap satu baris data pada tabel pertama hanya berhubungan dengan satu baris pada tabel kedua.
Agar tidak bingung, lihat visualisasi garis relasi One to One di bawah ini:
Relasi One to One |
Pada gambar diatas maksudnya ialah satu address hanya dimiliki satu customer.
Pada tabel customers terdapat primary key customer_id dan foreign key address_id. Yang mana foreign key itulah yang digunakan sebagai penghubung tabel customer.
Relasi One to Many
Relasi One to Many adalah relasi yang mana setiap satu baris data pada tabel pertama berhubungan dengan lebih dari satu baris pada tabel kedua.
Relasi One to Many |
Pada gambar diatas artinya tabel order dapat menampung data customer lebih dari satu customer.
Relasi Many to Many
Dalam beberapa kasus, Anda mungkin perlu beberapa contoh relasi pada kedua sisi.
Sebagaimana dikutip dari https://code.tutsplus.com/id/articles/sql-for-beginners-part-3-database-relationships--net-8561.
Misalnya, setiap order dapat berisi beberapa items. Dan masing-masing item juga bisa dalam beberapa orders.
Untuk relasi ini, kita perlu membuat sebuah tabel tambahan.
Tabel Items_Orders hanya memiliki satu tujuan, dan itu adalah untuk menciptakan sebuah relasi "Many to Many" antara items dan orders.
Berikut adalah bagaimana kita dapat memvisualisasikan relasi semacam ini:
Relasi Many to Many |
Apa itu Join di SQL ?
SQL Join merupakan perintah untuk menggabungkan antara dua atau lebih tabel yang ada di dalam database.
Atau lebih jelasnya Join merupakan salah satu kontruksi dasar dari SQL dan basis data.
Join dapat didefinisikan sebagai kombinasi record dari dua atau lebih table di dalam basis data relasional dan menghasilkan sebuah tabel (temporary) baru yang disebut sebagai joined tabel.
Perintah Join termasuk ke dalam kelompok Information Definition Language (DDL).
DDL adalah sekumpulan query SQL yang berguna untuk mendefiniskan data seperti membuat database, membuat tabel, memanipuasi dan menghapus.
Jenis-jenis Join dalam SQL
Di dalam database, ada kalanya kita membutuhkan data dari beberapa tabel yang saling berhubungan.
Untuk mendapatkan data dari beberapa tabel tersebut dapat digunakan perintah join pada perintah SQL.
Pada SQL, perintah join ada beberapa macam yaitu :
Inner Join
Inner Join berguna untuk mengembalikan baris-baris dari dua tabel atau lebih yang saling terhubung dengan menggunakan foreign key.
Berikut contoh perintah SQL Inner Join
Select A.nama_kolom, B.nama_kolom FROM TableA as A Inner Join TableB as B
ON A.nama_kolom = B.nama_kolom;
Left Join (Outer)
Left Join Outer atau yang biasa dikenal dengan Left Join berguna untuk mengembalikan nilai dari seluruh data dari tabel disebelah kiri yang dikenai kondisi ON dan baris dari tabel disebalah kanan yang hanya memenuhi kondisi join.
Berikut contoh perintah SQL Left Join
Select A.nama_kolom FROM TableA as A LEFT JOIN TableB as B ON A.nama_kolom
= B.nama_kolom;
Left [Outer] Join without Intersection
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.
Berikut contoh perintah SQL Left Outer Join
SELECT A.nama_kolom, B.nama_kolom FROM TableA as A LEFT OUTER JOIN TableB
as B ON A.nama_kolom = B.nama_kolom WHERE B.nama_kolom IS NULL;
Right [Outer] Join
Right Outer Join atau sering disingkat dengan Right Join merupakan kebalikan dari Left Outer Join. Join ini akan mengembalikan seluruh baris dari tabel disebelah kanan yang dikenai kondisi ON dan baris dari tabel disebelah kiri yang hanya memenuhi kondisi join.
Select A.nama_kolom FROM TableA as A RIGHT JOIN TableB as B ON A.nama_kolom
= B.nama_kolom;
Right [Outer] Join without Intersection
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 kiri yang memenuhi kondisi join.
SELECT A.nama_kolom, B.nama_kolom FROM TableA as A RIGHT OUTER JOIN TableB
as B ON A.nama_kolom = B.nama_kolom WHERE B.nama_kolom IS NULL;
FULL JOIN
Full Outer Join atau sering disingkat dengan Full Join akan mengembalikan seluruh baris dari kedua tabel yang dikenai ON termasuk data-data yang bernilai NULL.
Select A.nama_kolom, B.nama_kolom FROM TableA as A Full Join TableB as B ON
A.nama_kolom = B.nama_kolom;
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 A.nama_kolom, B.nama_kolom FROM TableA as A FULL JOIN TableB as B ON A.nama_kolom = B.nama_kolom WHERE A.nama_kolom
IS NULL OR B.nama_kolom IS NULL;
Untuk mendukung pemahaman kita terkait SQL operasi join admin lampirkan beberapa sumber pdf yang dapat kalian baca atau unduh.
Modul SQL Operasi Join dan Modul Relasi dan Join atau kunjungi repository github Pengertian SQL, Fungsi SQL dan Perintah Query
Nah itu tadi penjelasan lengkap Pengertian Relasi Database dan SQL Join, SQL merupakan bahasa pemrograman yang biasa digunakan buat pengelolaan database.
SQL memiliki banyak guna serta manfaat spesialnya buat para administrator serta pula programmer buat memanipulasi serta menganalisis informasi database.