company 公司表
id
companyname
数据
id companyname
1 公司1
2 公司2
user 用户
id
username
数据
id username
1 用户1
2 用户2
3 用户3
4 用户4
5 用户5
6 用户6
companyuser 表company表和user表的关系,他们多对多
id
companyid
userid
数据
id companyid userid
1 1 2
2 2 1
怎么查询id=1公司里面不存在user的员工集合
我现在使用的方法就是:
select a.* from [user] a where NOT EXISTS (SELECT 1
FROM [companyuser] b
WHERE a.id = b.userid and b.companyid =1)
还有没有更好的办法,或者直接建立视图?
左连接
select u.* from user u
left join companyuser cu on u.id=cu.userid and cu.companyid=1
where cu.companyid is null
非常感谢。
这2个表是不是不能做成视图?我之前还是左连接,然后用视图来弄,试了很多次还是不行。
@低调De程序猿: 视图里可以用左连接