为什么不算在SQL匹配中使用'LIKE'?

Pan*_*and 1 mysql sql oracle oracle11g

我有一个表ABCEMPLID,GRADE,SALARYDATE它的领域.

我正在执行以下3个语句:

select count(*) from ABC;
Run Code Online (Sandbox Code Playgroud)

结果: - 458

select count(*) from ABC where GRADE LIKE '%def%';
Run Code Online (Sandbox Code Playgroud)

结果: - 0

select count(*) from ABC where GRADE NOT LIKE '%def%';
Run Code Online (Sandbox Code Playgroud)

结果: - 428

我的观点是:第二个查询的结果加上第三个查询的结果应该等于第一个查询的结果,不应该吗?

pau*_*aul 7

看起来你有30条GRADE所在的记录null.

null 值未知,因此不匹配任何一个条件.

  • 尝试运行此查询:`select*from ABC,其中grade为null`. (3认同)