<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SQL 語句中 where 條件后 寫上1=1 是什么意思

          共 710字,需瀏覽 2分鐘

           ·

          2021-08-30 11:20

          前言

          where 1=1是sql語句條件邏輯判斷表達式,由于1=1成立,恒為真,該表達式1=1將始終返回"真"。這種寫法實際目的是為了獲取邏輯值"True",其實諸如2=2, 1+2=3,'中'='中'等之類的寫法都可以返回邏輯值"True",只不過1=1的運算開銷更小,故被應(yīng)用的最普遍。


          例子

          下面例子將有助于理解有關(guān)概念:

          1) select * from t1 where 1=1;

          -- 實際等效于select * from t1 where true;

          -- 語句將返回t1中所有的記錄行

          2) select * from t1 where 1<>1;

          -- 實際等效于 select * from t1 where false;

          -- 語句將返回空記錄集


          說明

          例1)實際上等同于不加任何篩選條件,有些畫蛇添足,where 1=1的實際意義不如where 1<>1來得有用,當我們只需要獲取表的字段(結(jié)構(gòu))信息,而不需要理會實際保存的記錄時,例2)的寫法將是非??扇ト〉?,因為系統(tǒng)僅會讀取結(jié)構(gòu)信息,而不會將具體的表記錄讀入內(nèi)存中,這無疑節(jié)省了系統(tǒng)開銷。


          注意事項

          這個SQL語句很明顯是全表掃描,需要大量的IO操作,數(shù)據(jù)量越大越慢,

          建議查詢時增加必輸項,即where 1=1后面追加一些常用的必選條件,并且將這些必選條件建立適當?shù)乃饕蕰蟠筇岣?nbsp;


          瀏覽 27
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  伊人成人在线观看 | 人人爽人人操 | 一级黄色在线观看 | 99福利| 日韩一级电影院 |