<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當(dāng)前位置:首頁>軟件介紹>MySQL的union語法 查詢:
               
          MySQL的union語法

                  一、UNION語法 

                  代碼 復(fù)制代碼 

                  SELECT ... 

                  UNION[ALL | DISTINCT] 

                  SELECT ... 

                  [UNION [ALL | DISTINCT] 

                  SELECT ...] 

                  SELECT ... 

                  UNION[ALL | DISTINCT] 

                  SELECT ... 

                  [UNION [ALL | DISTINCT] 

                  SELECT ...] 

                  UNION用于把來自許多SELECT語句的結(jié)果組合到一個(gè)結(jié)果集合中。 

                  列于每個(gè)SELECT語句的對(duì)應(yīng)位置的被選擇的列應(yīng)具有相同的類型。(例如,被第一個(gè)語句選擇的第一列應(yīng)和被其它語句選擇的第一列具有相同的類型。)在第一個(gè)SELECT語句中被使用的列名稱也被用于結(jié)果的列名稱。 

                  SELECT語句為常規(guī)的選擇語句,但是受到如下的限定: 

                   只有最后一個(gè)SELECT語句可以使用INTO OUTFILE。 

                   HIGH_PRIORITY不能與作為UNION一部分的SELECT語句同時(shí)使用。如果您對(duì)第一個(gè) SELECT指定了HIGH_PRIORITY,則不會(huì)起作用。如果您對(duì)其它后續(xù)的SELECT語句指定了HIGH_PRIORITY,則會(huì)產(chǎn)生語法錯(cuò)誤。 

                  如果您對(duì)UNION不使用關(guān)鍵詞ALL,則所有返回的行都是唯一的,如同您已經(jīng)對(duì)整個(gè)結(jié)果集合使用了DISTINCT。如果您指定了ALL,您會(huì)從所有用過的SELECT語句中得到所有匹配的行。 

                  DISTINCT關(guān)鍵詞是一個(gè)自選詞,不起任何作用,但是根據(jù)SQL標(biāo)準(zhǔn)的要求,在語法中允許采用。(在MySQL中,DISTINCT代表一個(gè)共用體的默認(rèn)工作性質(zhì)。) 

                  您可以在同一查詢中混合UNION ALL和UNION DISTINCT。被混合的UNION類型按照這樣的方式對(duì)待,即DISTICT共用體覆蓋位于其左邊的所有ALL共用體。DISTINCT共用體可以使用UNION DISTINCT明確地生成,或使用UNION(后面不加DISTINCT或ALL關(guān)鍵詞)隱含地生成。 

                  如果您想使用ORDER BY或LIMIT子句來對(duì)全部UNION結(jié)果進(jìn)行分類或限制,則應(yīng)對(duì)單個(gè)地SELECT語句加圓括號(hào),并把ORDER BY或LIMIT放到最后一個(gè)的后面。以下例子同時(shí)使用了這兩個(gè)子句: 

                  代碼 復(fù)制代碼 

                  (SELECT a FROM tbl_name WHERE a=10 AND B=1)UNION(SELECT a FROM tbl_name 

                  WHERE a=11 AND B=2)ORDER BY a LIMIT 10; 

                  (SELECT a FROM tbl_name WHERE a=10 AND B=1)UNION(SELECT a FROM tbl_name 

                  WHERE a=11 AND B=2)ORDER BY a LIMIT 10; 

                  這種ORDER BY不能使用包括表名稱(也就是,采用tbl_name.col_name格式的名稱)列引用??梢栽诘谝粋€(gè)SELECT語句中提供一個(gè)列別名,并在ORDER BY中參閱別名,或使用列位置在ORDER BY中參閱列。(首選采用別名,因?yàn)椴唤ㄗh使用列位置。) 

                  另外,如果帶分類的一列有別名,則ORDER BY子句必須引用別名,而不能引用列名稱。

                  以下語句中的第一個(gè)語句必須運(yùn)行,但是第二個(gè)會(huì)運(yùn)行失敗,出現(xiàn)在'order clause'中有未知列'a'的錯(cuò)誤: 代碼 復(fù)制代碼 

                  (SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY b;(SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY a;To apply ORDER BY or LIMIT to an individual SELECT, place the clause inside the parentheses that enclose the SELECT: 

                  (SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY b;(SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY a;To apply ORDER BY or LIMIT to an individual SELECT, place the clause inside the parentheses that enclose the SELECT: 

                  為了對(duì)單個(gè)SELECT使用ORDER BY或LIMIT,應(yīng)把子句放入圓括號(hào)中。圓括號(hào)包含了SELECT: 代碼 復(fù)制代碼 

                  (SELECT a FROM tbl_name WHERE a=10 AND B=1 ORDER BY a LIMIT 10)UNION(SELECT a FROM tbl_name WHERE a=11 AND B=2 ORDER BY a LIMIT 10); 

                  (SELECT a FROM tbl_name WHERE a=10 AND B=1 ORDER BY a LIMIT 10)UNION(SELECT a FROM tbl_name WHERE a=11 AND B=2 ORDER BY a LIMIT 10); 

                  二、 實(shí)例擴(kuò)展 

                  union可以對(duì)同一個(gè)表的兩次查詢聯(lián)合起來. 這樣做的益處也非常明顯, 比如在blog應(yīng)用中, 可以利用一條sql語句實(shí)現(xiàn)置頂blog和普通blog的分頁顯示. 

                  代碼 復(fù)制代碼 

                  ( 

                  SELECT * 

                  FROM `blog` 

                  WHERE top=1 

                  ORDER BY created DESC ) 

                  UNION( 

                  SELECT * 

                  FROM `blog` 

                  WHERE top = 0 

                  ORDER BY created DESC ) LIMIT 2 , 3 

                  注:union要求聯(lián)合的兩個(gè)表所要查找的數(shù)據(jù)列要一樣多,如果一個(gè)表中沒有另一個(gè)表的字段,可以用NULL代替。 

                  


          MySQL正則表達(dá)式的描述MySQL的命名規(guī)則
          MySQL的information_schema數(shù)據(jù)庫(kù)介紹 MySQL數(shù)據(jù)庫(kù)知識(shí)詳解
          MySQL LAST_INSERT_ID詳解MySQL安裝與常用命令
          MySQL配置文件詳細(xì)MySQL之存儲(chǔ)引擎
          MySQL主從復(fù)制原理MySQL的ODBC配置
          MySQL時(shí)間計(jì)算MySQL的亂碼解決方法
          MySQL亂碼問題MySQL數(shù)據(jù)查詢
          MySQL的添加insert語法MySQL時(shí)間獲取
          信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
          • 勁爆價(jià):
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 农村乱子伦毛片国产乱 | 免免费国产AAAAA片牛牛影视 | 成人香蕉视频 | 日本黄色免费一级A片 | aaa一级电影网站 | 蜜桃视频 成人app ios | 婷婷五月色综合 | 久久偷拍片久久 | 国产黄色一级毛片 | 人人操日日操 |