两张关联表的数据查询
数据库存在这两张表,一张角色表,一张角色人员对应表,现在我希望查询出角色表里面所有没有在角色对应表里面出现的角色,怎么查呢? ps:我用的数据库是MySQL
角色表 tb_role
id , name ,depict
角色人员对应表 tb_personnel_role
id ,personnel_id, role_id
人员表 tb_personnel
id , ....
已知这样查是不行的(当角色人员对应表中无数据时是查不出任何数据的)
select r.* from tb_role r,tb_personnel_role pr where r.id <> pr.role_id
------解决方案--------------------select r from tb_role r where r.id not in
(select pr.role_id from tb_personnel_role pr where pr.pr.role_id is not null)
这是sql server的 mysql 同样原理应该也可以的