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只是一个列名的代号而已。