1.给定表1usergrade:
| userid | username |
| 1 | user1 |
| 2 | null |
| 3 | user3 |
| 4 | null |
| 5 | user5 |
| 6 | user6 |
表2:usertable
| userid | username | grade |
| 1 | user1 | 90 |
| 2 | null | 80 |
| 3 | user7 | 80 |
| 4 | user8 | 90 |
执行语句:
question1.
select count(*) from usergrade where unsername not in (select username from usertable)
结果是: 3 notes:表中的null是指的是null字符串,而不是指数据库中的NULL(未定义),如果是NULL的话,那结果就是0了。
question2:
select count(*) from usergrade g where not exists (select null from usertable t where t.userid=g.userid and t.username=g.username)
结果是:4 notes:select null from usertable中的null只是一个列名的代号而已。