• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
            http://www.cnblogs.com/51net/p/4165781.html

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

            復制代碼
            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     王五 
            復制代碼

             

            很容大家第一時間相當的寫法是:

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

            然而查詢出來并沒有達到預期的

            ID    Name
            001  張三        
            003  王五          

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

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

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

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

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

            復制代碼
            --正確寫法                       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值參與運算符比較                        --建議修改為關聯查詢方法                                             --正確寫法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
            復制代碼

             

            久久综合九色综合网站| 久久久免费观成人影院| 精品多毛少妇人妻AV免费久久| 亚洲国产成人精品女人久久久 | 亚洲综合久久综合激情久久| 日本久久久久久中文字幕| 久久久综合香蕉尹人综合网| 亚洲精品国精品久久99热一| 国产呻吟久久久久久久92| 久久这里都是精品| 亚洲一区二区三区日本久久九| 国产亚洲美女精品久久久2020| 国产成人久久激情91| 久久久黄色大片| 国产2021久久精品| 久久精品国产99久久久| 伊人久久无码精品中文字幕| 国产韩国精品一区二区三区久久| 久久久高清免费视频| 国产亚洲精久久久久久无码AV| 亚洲国产精品无码久久SM| 国产精品欧美亚洲韩国日本久久| 久久精品人人做人人妻人人玩| 久久国产亚洲精品| 欧美久久综合九色综合| 国产精品VIDEOSSEX久久发布| 精品久久8x国产免费观看| 午夜欧美精品久久久久久久| 亚洲精品综合久久| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲国产精品综合久久一线 | 狠狠色丁香久久婷婷综| 99精品国产99久久久久久97| 无码人妻久久一区二区三区蜜桃| 国产无套内射久久久国产| 久久综合九色综合久99| 国产精品18久久久久久vr| 久久久久夜夜夜精品国产| 精品精品国产自在久久高清| 72种姿势欧美久久久久大黄蕉 | 97久久超碰成人精品网站|