原理是EXISTS(括号内的值为TRUE则会保留数据)
此用户表与工作表是一对多的关系(表示一个用户有两种工作)
![在这里插入图片描述](https://img-blog.csdnimg.cn/896d1e92d01644629c3b12e8f8ed9e7a.png)
1.EXISTS中相当于把符合括号内条件的查询出来,以上可以看出是符合条件的数据则会保留。
![在这里插入图片描述](https://img-blog.csdnimg.cn/fd5d738ce6f64e87a9a47691d525b3d2.png)
2.与NOT EXISTS连用,上面的条件是符合的,加上NOT EXISTS 可以看出我们的工作不止一种则 != 也是成立的,但是加上NOT里面是FALSE才会保留数据。通俗来说就是此人是否(有且仅有一个工作)
![在这里插入图片描述](https://img-blog.csdnimg.cn/8c6ba364d6df466d9467267e7074f37e.png)
3.去除条件里的(!)感叹号则是代表此人是否包含一个工作并且没在做另一个工作,显然此人就是在做这两份工作,所以查询不到此人
![在这里插入图片描述](https://img-blog.csdnimg.cn/317b7b92895e4d66abf23ba5a12ef548.png)
把u.id去除就可以查询全表所有符合这些条件的人