- Pengertian
INNER JOIN merupakan salah satu jenis operasi join dalam database yang digunakan untuk menggabungkan dua tabel atau lebih berdasarkan nilai yang sama pada kolom tertentu (biasanya kunci asing dan kunci utama).
Inner join mengambil baris yang memiliki nilai yang cocok di kedua tabel yang digabungkan dan memasangnya dalam satu baris. Inner join hanya menghasilkan baris yang cocok di kedua tabel, sehingga baris yang tidak cocok pada tabel yang digabungkan tidak ditampilkan dalam hasil.
- Fungsi Inner Join:
Fungsi dari inner join adalah untuk menggabungkan data dari dua tabel atau lebih dengan mempertahankan baris yang memiliki nilai yang cocok di kedua tabel. Dalam hal ini, inner join dapat digunakan untuk:
a) Memperluas informasi dalam tabel: Inner join memungkinkan kita untuk menggabungkan data dari dua tabel atau lebih sehingga kita dapat memperluas informasi yang ada pada tabel tersebut.
b) Membuat laporan yang lebih lengkap: Dengan menggunakan inner join, kita dapat mengambil data dari beberapa tabel dan menghasilkan laporan yang lebih lengkap dan terperinci.
c) Meningkatkan efisiensi kueri: Inner join dapat membantu meningkatkan efisiensi kueri dengan menghindari duplikasi data yang tidak diperlukan.
d) Menghubungkan data yang terkait: Inner join sangat berguna untuk menghubungkan data yang terkait, seperti data pelanggan dan pesanan, data produk dan penjualan, atau data pegawai dan gaji.
- Berikut adalah beberapa jenis inner join yang umum digunakan dalam database:
1. Inner Join
Inner Join adalah jenis inner join yang paling umum digunakan. Dalam jenis ini, hanya baris yang cocok dari kedua tabel yang akan ditampilkan, sementara baris yang tidak cocok akan diabaikan.
kita memiliki dua tabel yaitu "customers" dan "orders", dengan struktur sebagai berikut:
Table "customers":
customer_id | customer_name | customer_email |
---|---|---|
1 | Sintah wulan | sintah.wulan@gmail.com |
2 | Chandra | chan.dra@yahoo.com |
3 | Kharisya | khar.isya@gmail.com |
order_id | order_date | customer_id | order_total |
---|---|---|---|
1001 | 2022-01-05 | 1 | 150.00 |
1002 | 2022-01-10 | 2 | 75.50 |
1003 | 2022-01-15 | 3 | 200.00 |
- SELECT customers.customer_name, orders.order_id, orders.order_date, orders.order_total
- FROM customers
- INNER JOIN orders
- ON customers.customer_id = orders.customer_id;
Hasil dari di atas adalah:
customer_name | order_id | order_date | order_total |
---|---|---|---|
Sintah wulan | 1001 | 2022-01-05 | 150.00 |
Chandra | 1002 | 2022-01-10 | 75.50 |
Kharisya | 1003 | 2022-01-15 | 200.00 |
Dalam contoh di atas, INNER JOIN menghasilkan data yang hanya memiliki pasangan nilai di kedua tabel (yaitu, hanya pelanggan yang memiliki pesanan yang ditampilkan dalam hasilnya).
2. Cross Join
Cross Join adalah jenis inner join yang menghasilkan hasil gabungan dari dua tabel tanpa memerlukan kolom join. Dalam jenis ini, semua baris dari tabel kiri akan digabungkan dengan semua baris dari tabel kanan.
3. Self Join
Self Join adalah jenis inner join yang digunakan untuk menggabungkan satu tabel dengan dirinya sendiri. Dalam jenis ini, tabel akan bergabung dengan dirinya sendiri dengan menggunakan alias atau nama tabel yang berbeda.
4. Natural Join
Natural Join adalah jenis inner join yang menggunakan kolom dengan nama yang sama dari kedua tabel sebagai acuan untuk menggabungkan tabel. Dalam jenis ini, kolom-kolom dengan nama yang sama dari kedua tabel akan digunakan sebagai kolom join.
5. Equi Join
Equi Join adalah jenis inner join yang menggunakan operator perbandingan "equal to" (=) untuk membandingkan nilai pada kolom join. Dalam jenis ini, hanya baris dengan nilai yang sama pada kolom join dari kedua tabel yang akan ditampilkan.
- Contoh penggunaan Inner Join:
berikut ini adalah contoh INNER JOIN pada dua tabel bernama "orders" dan "customers":
Tabel "orders":
order_id | customer_id | order_date | total_amount |
---|---|---|---|
1 | 123 | 2020-03-09 | 100 |
2 | 321 | 2021-07-02 | 200 |
3 | 111 | 2020-05-03 | 150 |
4 | 222 | 2021-01-04 | 75 |
customer_id | customer_name | city |
---|---|---|
369 | Sintha Wulan | Jawa Barat |
190 | Moza | China |
780 | Bubu | Amerika |
012 | Omeng | Suria |
Dalam contoh di atas, kita memilih kolom "order_id" dan "order_date" dari tabel "orders", dan kolom "customer_name" dari tabel "customers". Inner join dilakukan dengan menggunakan kata kunci "INNER JOIN", diikuti dengan nama tabel yang akan digabungkan ("customers"), dan kondisi join dengan menggunakan kata kunci "ON" dan kolom kunci utama yang sama pada kedua tabel ("customer_id").
Hasil yang diharapkan adalah sebagai berikut:
order_id | order_date | customer_name |
---|---|---|
1 | 2020-03-09 | Sintha Wulan |
2 | 2021-07-02 | Moza |
3 | 2020-05-03 | Bubu |
Note: Baris keempat pada tabel "customers" tidak muncul pada hasil INNER JOIN karena nilai "customer_id" 105 tidak ada di tabel "orders".
Komentar
Posting Komentar