Ah, yes. Checkbox joins automatically create a many-to-many junction table that stores the actual selections. A checkbox or multiselect join can obviously have multiple values, unlike a dropdown or radio, which can only have one. So it needs a junction table, as it's no longer a simple one-to-one, "single foreign key on main table points to single row in joined table" relationship.
If you look at your tables in phpMyAdmin, for checkbox join elements you'll see tables with names like tablename_repeat_elementname, with id, parent_id and elementname fields. If you save a form with multiple selections checked for that element, you'll then see multiple rows in the junction table, with parent_id all set the same (the rowid of the main table), and the 'elementname' having the actual selected values.
So ... when building WHERE clauses, you need a grasp of the table structure and how to write queries for this kind of junction mapping.
-- hugh