• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            http://www.cnblogs.com/51net/p/4165781.html

            如果下:Table_A表和Table_B表,要求查詢出在Table_A表中不在Table_B表中的記錄。

            復(fù)制代碼
            CREATE TABLE [dbo].[Table_A](  [ID] [nchar](10) NULL,  [Name] [nchar](10) NULL ) ON [PRIMARY]  GO  ID          Name 001        張三         002        李四         003        王五                   CREATE TABLE [dbo].[Table_B](  [ID] [nchar](10) NULL,  [Name] [nchar](10) NULL ) ON [PRIMARY]  GO  ID        Name NULL     張三         002       李四         NULL     王五 
            復(fù)制代碼

             

            很容大家第一時間相當(dāng)?shù)膶懛ㄊ牵?/p>

            SELECT  * FROM    dbo.Table_A AS a WHERE   a.ID NOT IN ( SELECT    b.ID                       FROM      dbo.Table_B AS b)

            然而查詢出來并沒有達(dá)到預(yù)期的

            ID    Name
            001  張三        
            003  王五          

            原因很簡單:由于NULL不能進(jìn)行如何的“操作”

            –如果null參與算術(shù)運(yùn)算,則該算術(shù)表達(dá)式的值為null。(例如:+,-,*,/ 加減乘除)

            –如果null參與比較運(yùn)算,則結(jié)果可視為false。(例如:>=,<=,<>  大于,小于,不等于)

            –如果null參與聚集運(yùn)算,則聚集函數(shù)都置為null。除count(*)之外。

            --如果在not in子查詢中有null值的時候,則不會返回數(shù)據(jù)。  (最簡單的解釋請參考下面的評論說明)     

            復(fù)制代碼
            --正確寫法                       SELECT  * FROM    dbo.Table_A AS a WHERE   a.ID NOT IN ( SELECT    b.ID                       FROM      dbo.Table_B AS b                       WHERE     b.ID IS NOT NULL ) --排除NULL值參與運(yùn)算符比較                        --建議修改為關(guān)聯(lián)查詢方法                                             --正確寫法1              SELECT  * FROM    dbo.Table_A AS a WHERE   NOT EXISTS ( SELECT *                      FROM   dbo.Table_B AS b                      WHERE  a.ID = b.ID ) --正確寫法2                      SELECT  * FROM    dbo.Table_A AS a         LEFT OUTER JOIN dbo.Table_B AS b ON a.ID = b.ID WHERE   b.ID IS NULL
            復(fù)制代碼

             

            久久久久国产一区二区三区| 久久中文精品无码中文字幕| 欧美精品丝袜久久久中文字幕 | 久久精品国产亚洲5555| 品成人欧美大片久久国产欧美| 久久精品免费网站网| 久久久久亚洲av综合波多野结衣 | 亚洲性久久久影院| 亚洲国产另类久久久精品小说 | 亚洲精品tv久久久久久久久久| 99久久国产精品免费一区二区| 久久久久一区二区三区| 久久婷婷色香五月综合激情| 99精品国产在热久久无毒不卡| 香蕉久久永久视频| 久久线看观看精品香蕉国产| 久久毛片一区二区| 狠狠人妻久久久久久综合蜜桃| 亚洲va久久久噜噜噜久久| 青春久久| 久久青青草原精品国产不卡| 97久久香蕉国产线看观看| 欧美精品一区二区久久| 国产精品欧美久久久天天影视 | 久久久久亚洲AV无码专区桃色| 久久婷婷五月综合色高清| 欧美精品国产综合久久| 久久免费视频6| 日韩一区二区久久久久久| 国产成人久久精品区一区二区| 久久人人爽人人爽人人片AV不| 久久久噜噜噜久久| 久久久久亚洲AV无码去区首| 久久久精品久久久久久| 国产精品久久久久一区二区三区| 精品久久久久久中文字幕| 国产精品久久久久久久久免费| 久久精品国产福利国产秒| 久久精品国产影库免费看| 久久美女网站免费| 国产精品永久久久久久久久久 |