今天碰见一段sql 不得其解,求解惑!
一段mysql查询语句:
select * from table where fielda='123' and not '456'
and not 是什么意思?
and not
我自己试了下 select * from table where not '123' 也是可以执行的
select * from table where not '123'
该怎么理解?
业精于勤,荒于嬉;行成于思,毁于随。
好奇怪的写法。
fielda='123' and not '456'
分解:
等价于:
fielda='123' and 0
select * from table where 0
(不知道我的优先级对不对)
MySQL语法逻辑操作符:
如果后面的操作数是是0,值为1;如果操作数非0,值为0,NULL特殊处理,即是 NOT NULL为NULL。
好奇怪的写法。
分解:
等价于:
等价于:
(不知道我的优先级对不对)
MySQL语法逻辑操作符:
如果后面的操作数是是0,值为1;如果操作数非0,值为0,NULL特殊处理,即是 NOT NULL为NULL。