Tutorial MySQL : Menampilkan Data Tabel A yang Belum ada di Tabel B

Misalnya ada memiliki dua buah tabel, tabel pertama tabel A yang memuat daftar nama yang belum menerima bantuan covid 19 dan tabel B memuat daftar nama yang sudah menerima bantuan. 

Contoh Kasus :

Misalnya dalam contoh kasus ini setiap daftar nama akan dimasukan ke dalam tabel A, namun nanti bagi yang sudah menerima bantuan akan ditambahkan ke tabel B. Kemudian nanti saat menampilkan daftar nama di tabel A, misalnya data hanya boleh menampilkan data yang belum menerima bantuan atau belum ada di tabel B.

Penyelesaian :

Dengan contoh kasus seperti diatas, Anda dapat menyelesaikannya dengan mudah  menggunakan LEFT JOIN. Operasi left join akan memeriksa kecocokan baris yang terdapat di tabel A (kiri) dengan tabel B (kanan), dan ketika ditemukan ketidakcocokan data, maka left join tetap akan menetapkan sebuah nilai i null pada baris  tabel B (kanan). Dengan kata lain, kita akan mencari data yang belum terdapat di tabel B dengan memanfaatkan nilai null tersebut pada klausa where.

Baca juga : Cara Membuat Relasi Tabel Dengan phpMyAdmin

Pertama kita buat 2 buah tabel dengan struktur data seperti berikut :

contoh tabel a

contoh tabel  b


1. Mencari Kesamaan

Sebenernya ini sederhana,  tapi kita perlu dipahami secara bertahap supaya bisa memahami prosesnya secara bertahap.

Jalankan query berikut : 

SELECT * FROM cvd_penerima_bantuan LEFT JOIN cvd_sdh_menerima_bantuan ON cvd_penerima_bantuan.id_penerima=cvd_sdh_menerima_bantuan.id_penerima

Hasil :

mencari kesamaan dengan left join

Jika anda perhatikan ketika mencari persamaan antara kedua tabel, left join akan mengembalikan nilai null pada tabel sebelah kanan

2. Menambahkan Klausa Where setelah ON

Selanjutnya Anda dapat menambahkan klausa where untuk mencari ketidakcocokan baris atau supaya hanya baris yang belum ada ditabel kedua saja yang ditampilkan

Jalankan query Berikut :

SELECT * FROM cvd_penerima_bantuan LEFT JOIN cvd_sdh_menerima_bantuan ON cvd_penerima_bantuan.id_penerima=cvd_sdh_menerima_bantuan.id_penerima WHERE cvd_sdh_menerima_bantuan.id_penerima IS NULL

Hasil :

penambahan klausa where didalam left join

Tabel pertama (2 di kiri) tabel kedua (2 di kanan)

Tetapi hasil diatas menampilkan data dari kedua tabel, lalu bagaimana supaya tabel sebelah kiri saja yang ditampilkan, namun tetap menampilkan daftar nama yang belum menerima bantuan.

Anda bisa menjalankan query berikut :

SELECT cvd_penerima_bantuan.* FROM cvd_penerima_bantuan LEFT JOIN cvd_sdh_menerima_bantuan ON cvd_penerima_bantuan.id_penerima=cvd_sdh_menerima_bantuan.id_penerima WHERE cvd_sdh_menerima_bantuan.id_penerima IS NULL

Hasil :

hasil akhir operasi left join



0 Response to "Tutorial MySQL : Menampilkan Data Tabel A yang Belum ada di Tabel B"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin