今天碰見一段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。