Bismillaahirrohmaanirrohiim…
Join antar tabel di MySQL seringkali digunakan karena dapat menghemat query daripada query satu persatu ke banyak tabel sekaligus.
MySQL Query Left JOIN dengan dua kondisi atau lebih
select tabel1.*, tabel2.id, tabel2.nama, tabel2.kode from tabel1 left join tabel2 on (tabel1.id=tabel2.id and tabel1.nama=tabel2.nama AND tabel2.status=1) where tabel1.id='56' AND tabel1.nama='nama' AND tabel1.status=1 order by tabel2.nama ASC LIMIT 0,10;
MySQL query dengan dua left join yang melibatkan tiga tabel
select tabel1.*, tabel2.id, tabel2.nama,tabel2.kode, tabel3.id_other, tabel3.nama_lain, tabel3.kode_lain from tabel1 left join tabel2 on (tabel1.id=tabel2.id and tabel1.nama=tabel2.nama and...) left join tabel3 on (tabel1.id_other=tabel3.id_other and...) where tabel1.id='56' AND tabel1.nama='nama' AND tabel1.status=1 order by tabel2.kode ASC LIMIT 0,10;
pastikan kondisi setelah on adalah unik di tabel2 dan di tabel3, jika tidak unik maka akan menghasilkan banyak rows karena setiap data tabel1.id_other=tabel3.id_other akan ditampilkan.
jika memang tidak bisa unik, solusinya adalah menggunakan klausa group by id, jadi hasilnya spt di bawah ini
select tabel1.*, tabel2.id, tabel2.nama,tabel2.kode, tabel3.id_other, tabel3.nama_lain, tabel3.kode_lain from tabel1 left join tabel2 on (tabel1.id=tabel2.id and tabel1.nama=tabel2.nama) left join tabel3 on (tabel1.id_other=tabel3.id_other) where tabel1.id='56' AND tabel1.nama='nama' AND tabel1.status=1 group by tabel1.id order by tabel2.kode ASC LIMIT 0,10;
MySQL left join dua tabel menggunakan group by dan order by
Keterangannya ada di sini
select tb1.*, tb2.totdata from t_satu tb1 left join (SELECT data_id, count(data_id) as totdata FROM t_dua group by data_id order by totdata desc LIMIT 8) tb2 on tb1.data_id = tb2.data_id order by tb2.totdata desc limit 8
Menggunakan filter select pada left join dan kondisi query
select tabel1.tabel1_id, tabel1.tabel1_kode, tabel1.tabel1_nama, tabel2.* from tabel1 left join (select * from tabel2 where tabel2_not_unik_id=1) tabel2 on (tabel1.tabel1_id=tabel2.tabel1_id_sama) where tabel1_id=11 and tabel1_kode='abc' and deleted=0 order by tabel1.tabel1_nama ASC
Halaman ini akan terus diupdate jika ada pembaruan tentang query mysql inner join dan left join.
Terimakasih
Bismillaahirrohmaanirrohiim... Saat ini teknologi sudah berkembang cepat, ada kalanya kita ingin diberikan informasi secara cepat…
Bismillaahirrohmaanirrohiim... Jika web diakses oleh banyak orang, khususnya yang berbasis wordpress, maka secara normal proses…
Bismillaahirrohmaanirrohiim... Saat ini, sekolah baik SD, SMP, ataupun SMA tentunya ingin dapat melihat dan memonitor…
Bismillaahirrohmaanirrohiim... Pada artikel kali ini saya akan berbagi informasi tentang program pendataan pendukung calon legislatif…
Bismillaahirrohmaanirrohiim... Saat kita melakukan screenshot di browser chrome, pada windows 11 menyediakan fungsi yang bagus…
Bismillaahirrohmaanirrohiim... Untuk website yang ingin tidak muncul popup translate dari browser, bisa dicoba kode di…