日期:2014-05-18  浏览次数:20634 次

两张关联表的数据查询
    数据库存在这两张表,一张角色表,一张角色人员对应表,现在我希望查询出角色表里面所有没有在角色对应表里面出现的角色,怎么查呢? 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
MySQL 数据库 select 行业数据

------解决方案--------------------
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 同样原理应该也可以的