<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    WEB開發 de 點滴

    by sanwish

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      38 隨筆 :: 0 文章 :: 4 評論 :: 0 Trackbacks

    可以用 ALL 或 ANY 關鍵字修改引入子查詢的比較運算符。SOME 是 SQL-92 標準的 ANY 的等效物。

    由帶修改的比較運算符引入的子查詢返回一列零值或更多值,并且可以包括 GROUP BY 或 HAVING 子句。這些子查詢可通過 EXISTS 重新表述。

    以 > 比較運算符為例,>ALL 表示大于每一個值;換句話說,大于最大值。例如,>ALL (1, 2, 3) 表示大于 3。>ANY 表示至少大于一個值,也就是大于最小值。因此 >ANY (1, 2, 3) 表示大于 1。

    要使帶有 >ALL 的子查詢中的某行滿足外部查詢中指定的條件,引入子查詢的列中的值必須大于由子查詢返回的值的列表中的每個值。

    同樣,>ANY 表示要使某一行滿足外部查詢中指定的條件,引入子查詢的列中的值必須至少大于由子查詢返回的值的列表中的一個值。

    說明??下例可以用多種方法運行,只要內部查詢只返回一個值即可。

    USE pubs
    -- Option 1 using MAX in the inner query
    SELECT title
    FROM titles
    HAVING MAX(advance) > ALL
    WHERE advance > ALL
       (
        SELECT MAX(advance)
        FROM publishers INNER JOIN titles ON 
          titles.pub_id = publishers.pub_id
        WHERE pub_name = 'Algodata Infosystems'
       )
    
    -- Option 2 using GROUP BY and HAVING and no ALL 
    USE pubs
    SELECT title
    FROM titles
    GROUP BY title
    HAVING MAX(advance) > 
       (
        SELECT MAX(advance)
        FROM publishers INNER JOIN titles ON 
          titles.pub_id = publishers.pub_id
        WHERE pub_name = 'Algodata Infosystems'
       )
    

    下面的查詢提供一個由 ANY 修改的比較運算符引入的子查詢的示例。它將查找收到的預付款大于 Algodata Infosystems 支付的最低預付款金額的書名。

    USE pubs
    SELECT title
    FROM titles
    WHERE advance > ANY
       (SELECT advance
       FROM publishers INNER JOIN titles
       ON titles.pub_id = publishers.pub_id
          AND pub_name = 'Algodata Infosystems')
    

    下面是結果集:

    title
    ---------------------------------------------------------------
    You Can Combat Computer Stress!
    The Gourmet Microwave
    But Is It User Friendly?
    Secrets of Silicon Valley
    Computer Phobic and Non-Phobic Individuals: Behavior Variations
    Life Without Fear
    Onions, Leeks, and Garlic: Cooking Secrets of the Mediterranean
    Sushi, Anyone?
    
    (8 row(s) affected)
    

    對于每種書名,內部查詢查找一列由 Algodata 支付的預付款金額。外部查詢查看列表中的所有值,并確定當前考慮的書名是否已收到大于任何其它金額的預付款。換句話說,將查找預付款等于或大于 Algodata 支付的最低金額的書名。

    如果子查詢不返回任何值,那么整個查詢將不會返回任何值。

    =ANY 運算符與 IN 等效。例如,要查找與出版商住在同一個城市的作者,可以使用 IN 或 =ANY。

    USE pubs
    SELECT au_lname, au_fname
    FROM authors
    WHERE city IN
       (SELECT city
       FROM publishers)
    
    USE pubs
    SELECT au_lname, au_fname
    FROM authors
    WHERE city = ANY
       (SELECT city
       FROM publishers)
    

    下面是任一查詢的結果集:

    au_lname         au_fname
    --------         ---------
    Carson         Cheryl
    Bennet         Abraham
    
    (2 row(s) affected)
    

    但是,< >ANY 運算符與 NOT IN 有所不同:< >ANY 表示不等于 a,或不等于 b,或不等于 c。而 NOT IN 表示不等于 a,且不等于 b,且不等于 c。但 <>ALL 與 NOT IN 意義相同。

    例如,下面的查詢查找在沒有出版商的城市中居住的作者。

    USE pubs
    SELECT au_lname, au_fname
    FROM authors
    WHERE city <> ANY
       (SELECT city
       FROM publishers)
    

    下面是結果集:

    au_lname                                 au_fname             
    ---------------------------------------- -------------------- 
    White                                    Johnson              
    Green                                    Marjorie             
    Carson                                   Cheryl               
    O'Leary                                  Michael              
    Straight                                 Dean                 
    Smith                                    Meander              
    Bennet                                   Abraham              
    Della Buena                              Ann                  
    Gringlesby                               Burt                 
    Locksley                                 Charlene             
    Greene                                   Morningstar          
    Blotchet-Halls                           Reginald             
    Yokomoto                                 Akiko                
    del Covello                              Innes                
    DeFrance                                 Michel               
    Stringer                                 Dirk                 
    MacFeather                               Stearns              
    Karsen                                   Livia                
    Panteley                                 Sylvia               
    Hunter                                   Sheryl               
    McBadden                                 Heather              
    Ringer                                   Anne                 
    Ringer                                   Albert               
    
    (23 row(s) affected)
    

    因為每個作者所在的城市中都有一個或多個出版商不在那里居住,所以結果包括所有 23 個作者。內部查詢找出所有住有出版商的城市,然后對于每個城市,外部查詢查找不住在該城市的作者。

    但是,如果在該查詢中使用 NOT IN,那么結果將包括除了 Cheryl Carson 和 Abraham Bennet 以外的所有作者,因為他們住在 Algodata Infosystems 所處的 Berkeley。

    USE pubs
    SELECT au_lname, au_fname
    FROM authors
    WHERE city NOT IN
       (SELECT city
       FROM publishers)
    

    下面是結果集:

    au_lname                                 au_fname             
    ---------------------------------------- -------------------- 
    White                                    Johnson              
    Green                                    Marjorie             
    O'Leary                                  Michael              
    Straight                                 Dean                 
    Smith                                    Meander              
    Della Buena                              Ann                  
    Gringlesby                               Burt                 
    Locksley                                 Charlene             
    Greene                                   Morningstar          
    Blotchet-Halls                           Reginald             
    Yokomoto                                 Akiko                
    del Covello                              Innes                
    DeFrance                                 Michel               
    Stringer                                 Dirk                 
    MacFeather                               Stearns              
    Karsen                                   Livia                
    Panteley                                 Sylvia               
    Hunter                                   Sheryl               
    McBadden                                 Heather              
    Ringer                                   Anne                 
    Ringer                                   Albert               
    
    (21 row(s) affected)
    

    還可以通過使用 < >ALL 運算符獲得相同的結果,該運算符與 NOT IN 等效。

    USE pubs
    SELECT au_lname, au_fname
    FROM authors
    WHERE city <> ALL
       (SELECT city
       FROM publishers)
    
    posted on 2008-11-10 10:02 sanwish 閱讀(226) 評論(0)  編輯  收藏 所屬分類: Sql
    主站蜘蛛池模板: 国产精品亚洲午夜一区二区三区| 亚洲AV午夜成人影院老师机影院| 精品亚洲AV无码一区二区三区| 大地资源在线资源免费观看| 亚洲男同帅GAY片在线观看| 男女拍拍拍免费视频网站| 中文字幕在线亚洲精品| 中文字幕免费观看视频| 精品久久久久久亚洲| 国产免费阿v精品视频网址| 久久亚洲精品中文字幕三区| a国产成人免费视频| 久久精品国产亚洲av麻豆| 日本免费人成视频在线观看| 亚洲黑人嫩小videos| 100000免费啪啪18免进| 国产99在线|亚洲| 四虎成人精品在永久免费| 国产福利免费视频 | 在线观看亚洲一区二区| 91久久精品国产免费一区| 亚洲人成小说网站色| 免费大香伊蕉在人线国产| 成人免费无码H在线观看不卡| 亚洲午夜视频在线观看| 日韩免费a级毛片无码a∨ | a成人毛片免费观看| 亚洲天堂在线播放| 在线视频免费观看www动漫| 四虎影视在线看免费观看| 亚洲成熟xxxxx电影| 一个人免费观看在线视频www | a国产成人免费视频| 亚洲av无码不卡久久| 亚洲精品国产日韩无码AV永久免费网| 国产精品网站在线观看免费传媒| 亚洲国产日韩女人aaaaaa毛片在线| 国产精品冒白浆免费视频| 精品在线免费观看| 亚洲日韩AV一区二区三区四区| 久久国产成人精品国产成人亚洲|