• <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ù)制代碼

             

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

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

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

            ID    Name
            001  張三        
            003  王五          

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

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

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

            –如果null參與聚集運算,則聚集函數(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值參與運算符比較                        --建議修改為關(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ù)制代碼

             

            久久精品免费网站网| 久久精品九九亚洲精品| 青青青青久久精品国产 | 亚洲午夜无码久久久久| 四虎影视久久久免费| 久久人人爽人人爽人人爽| 亚洲精品tv久久久久久久久| 亚洲国产精品久久电影欧美| 国内精品久久久久伊人av| 国产L精品国产亚洲区久久 | 久久久WWW免费人成精品| 亚洲午夜久久久| 亚洲精品无码专区久久久 | 久久久久亚洲av成人无码电影 | 国产精品成人无码久久久久久| 三级片免费观看久久| 国产成年无码久久久久毛片| 久久久久成人精品无码| 777午夜精品久久av蜜臀| 国产精品无码久久久久| 国产aⅴ激情无码久久| 99久久精品费精品国产| 欧洲人妻丰满av无码久久不卡| 91精品国产色综久久 | 国产V综合V亚洲欧美久久| 狠狠色丁香久久婷婷综合_中| 国产欧美久久一区二区| 无码人妻久久一区二区三区蜜桃 | 欧美日韩精品久久久免费观看| 久久亚洲国产欧洲精品一| 亚洲中文久久精品无码ww16| 久久精品免费网站网| 国产精品一久久香蕉产线看| 色欲久久久天天天综合网| 久久WWW免费人成—看片| 亚洲国产精品久久久久久| 99久久99久久精品免费看蜜桃| 久久无码AV一区二区三区| 日韩十八禁一区二区久久| 久久国产成人午夜AV影院| 久久免费精品一区二区|