<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
    主站蜘蛛池模板: 一个人免费日韩不卡视频| 人人公开免费超级碰碰碰视频| 免费人妻无码不卡中文字幕系 | 日韩在线观看免费完整版视频| 日本v片免费一区二区三区| 亚洲一线产品二线产品| 国产高清免费在线| 国产精品午夜免费观看网站| 亚洲热妇无码AV在线播放| 无码国产精品一区二区免费模式| 久久精品国产亚洲AV电影| 青青青免费国产在线视频小草| 亚洲av一本岛在线播放| 男女交性永久免费视频播放 | 大地影院MV在线观看视频免费 | 亚洲成a∨人片在无码2023| 国产又粗又猛又爽又黄的免费视频 | 青青草免费在线视频| 亚洲av成人一区二区三区观看在线| 亚洲AⅤ优女AV综合久久久| 成人爽a毛片免费| 亚洲精品视频专区| 成人永久福利免费观看| 天黑黑影院在线观看视频高清免费| 亚洲无线电影官网| 午夜爱爱免费视频| 国产精品内射视频免费| 亚洲区视频在线观看| 可以免费观看一级毛片黄a| 免费在线中文日本| 色偷偷亚洲男人天堂| 亚洲AV综合色区无码一区爱AV | 亚洲成人免费在线| 好男人看视频免费2019中文| WWW免费视频在线观看播放| 亚洲国产精品综合久久2007| 亚洲第一黄片大全| 全免费毛片在线播放| 91在线免费观看| 国产精品亚洲专区在线播放| 久久精品a亚洲国产v高清不卡|