搜尋

首頁  >  問答  >  主體

mysql 語法 where 簡寫?

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

一段mysql查詢語句:

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

and not 是什麼意思?

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

該怎麼理解?

迷茫迷茫2728 天前1063

全部回覆(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
  • 取消回覆