搜索

首页  >  问答  >  正文

mysql 语法 where 简写?

今天碰见一段sql 不得其解,求解惑!

一段mysql查询语句:

select * from table where fielda='123' and not '456'

and not 是什么意思?

我自己试了下 select * from table where not '123' 也是可以执行的

该怎么理解?

迷茫迷茫2766 天前1095

全部回复(2)我来回复

  • 代言

    代言2017-06-10 09:51:43

    好奇怪的写法。

    fielda='123' and not '456'
    

    分解:

    fielda='123'
    and
    not '456'
    

    等价于:

    fielda='123' and 0
    

    等价于:

    select * from table where 0
    

    (不知道我的优先级对不对)

    回复
    0
  • 梦想成真

    and的意思是必须要满足两个条件

    梦想成真 · 2017-06-10 21:27:47
  • typecho

    typecho2017-06-10 09:51:43

    MySQL语法逻辑操作符:

    如果后面的操作数是是0,值为1;如果操作数非0,值为0,NULL特殊处理,即是 NOT NULL为NULL。

    回复
    0
  • 取消回复