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 :
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 :
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 :
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 :
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