欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL union 語法代碼示例分析

 更新時(shí)間:2010年06月21日 12:25:47   作者:  
主要介紹的是MySQLunion 語法代碼演示,我前兩天在相關(guān)網(wǎng)站看見MySQLunion 語法代碼演示的資料,覺得挺好,就拿出來供大家分享。希望在你今后的學(xué)習(xí)中會對你有所幫助。
復(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è)表的查詢結(jié)果進(jìn)行合并輸出比如說 群組消息跟個(gè)人消息表是分離的但是想一起提取出來并顯示的話就可以如此處理。通過MySQLUNION聯(lián)合查詢出來即可)
列于每個(gè)SELECT語句的對應(yīng)位置的被選擇的列應(yīng)具有相同的類型(前提條件是兩個(gè)SELECT出來的列類型要保持一樣的才行!)。(例如,被第一 個(gè)語句選擇的第一列應(yīng)和被其它語句選擇的第一列具有相同的類型。)在第一個(gè)SELECT語句中被使用的列名稱也被用于結(jié)果的列名稱。
SELECT語句為常規(guī)的選擇語句,但是受到如下的限定:
只有最后一個(gè)SELECT語句可以使用INTO OUTFILE。
HIGH_PRIORITY不能與作為UNION一部分的SELECT語句同時(shí)使用。如果您對第一個(gè) SELECT指定了HIGH_PRIORITY,則不會起作用。如果您對其它后續(xù)的SELECT語句指定HIGH_PRIORITY,則會產(chǎn)生語法錯(cuò) 誤。
如果您對UNION不使用關(guān)鍵詞ALL,則所有返回的行都是唯一的,如同您已經(jīng)對整個(gè)結(jié)果集合使用了DISTINCT。如果您指定了ALL,您會從 所有用過的SELECT語句中得到所有匹配的行。
DISTINCT關(guān)鍵詞是一個(gè)自選詞,不起任何作用,但是根據(jù)SQL標(biāo)準(zhǔn)的要求,在語法中允許采用。(在MySQL中,DISTINCT代表一個(gè)共 用體的默認(rèn)工作性質(zhì)。)
您可以在同一查詢中混合UNION ALL和UNION DISTINCT。被混合的UNION類型按照這樣的方式對待,即DISTICT共用體覆蓋位于其左邊的所有ALL共用體。DISTINCT共用體可以使 用UNION DISTINCT明確地生成,或使用UNION(后面不加DISTINCT或ALL關(guān)鍵詞)隱含地生成。
如果您想使用ORDER BY或LIMIT子句來對全部UNION結(jié)果進(jìn)行分類或限制,則應(yīng)對單個(gè)地SELECT語句加圓括號,并把ORDER BY或LIMIT放到最后一個(gè)的后面。以下例子同時(shí)使用了這兩個(gè)子句:
代碼
(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;
(如果想要實(shí)現(xiàn)分頁的話可以這樣處理 將兩個(gè)查詢的結(jié)果集當(dāng)作是一個(gè)大的結(jié)果集處理然后再對此大的結(jié)果集進(jìn)行LIMIT處理即可實(shí)現(xiàn)?。┖煤煤?~!
(SELECT a FROM tbl_name WHERE a=10 AND B=1)MySQLUNION(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è)會運(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:

為了對單個(gè)SELECT使用ORDER BY或LIMIT,應(yīng)把子句放入圓括號中。圓括號包含了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ò)展
MySQLunion可以對同一個(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

以上的相關(guān)內(nèi)容就是對MySQLunion語法的介紹,望你能有所收獲。

相關(guān)文章

  • Mysql普通索引與唯一索引的選擇詳析

    Mysql普通索引與唯一索引的選擇詳析

    這篇文章主要給大家介紹了關(guān)于Mysql普通索引與唯一索引的選擇的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • mysql sharding(碎片)介紹

    mysql sharding(碎片)介紹

    這篇文章主要介紹了mysql sharding(碎片)介紹,本文講解了Sharding的應(yīng)用場景一般都哪些、Sharding與數(shù)據(jù)庫分區(qū)(Partition)的區(qū)別等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • mysql 8.0.16 Win10 zip版本安裝配置圖文教程

    mysql 8.0.16 Win10 zip版本安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0 Win10 zip版本安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • My Sql 1067錯(cuò)誤與編碼問題的解決方案

    My Sql 1067錯(cuò)誤與編碼問題的解決方案

    My Sql 大部分都是用綠色版(解壓版) 然后注冊服務(wù)簡單方便,但是配置文件也很讓人糾結(jié),下面小編給大家?guī)砹薓y Sql 1067錯(cuò)誤與編碼問題的解決方案,感興趣的朋友參考下吧
    2016-11-11
  • SQL字符串以及數(shù)字常用操作匯總

    SQL字符串以及數(shù)字常用操作匯總

    本篇文章是對SQL字符串以及數(shù)字的常用操作進(jìn)行了詳細(xì)的總結(jié)與分析,需要的朋友參考下
    2013-06-06
  • Mysql循環(huán)插入數(shù)據(jù)的實(shí)現(xiàn)

    Mysql循環(huán)插入數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了Mysql循環(huán)插入數(shù)據(jù)的實(shí)現(xiàn)過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MySQL Order By索引優(yōu)化方法

    MySQL Order By索引優(yōu)化方法

    在一些情況下,MySQL可以直接使用索引來滿足一個(gè) ORDER BY 或 GROUP BY 子句而無需做額外的排序
    2012-07-07
  • MySQL json相關(guān)函數(shù)及功能詳解

    MySQL json相關(guān)函數(shù)及功能詳解

    MySQL提供了一系列的JSON函數(shù),用于解析、提取、修改和操作JSON數(shù)據(jù),以下是一些常用的JSON函數(shù)及其功能,需要的朋友可以參考下
    2023-11-11
  • MySQL流程控制函數(shù)匯總分析講解

    MySQL流程控制函數(shù)匯總分析講解

    MySQL流程控制函數(shù)包括if、case、while、repeat、loop、leave、iterate等,可以在SQL語句中實(shí)現(xiàn)條件判斷、循環(huán)、跳出等功能,提高了SQL語句的靈活性和功能性
    2023-04-04
  • 淺談mysql的timestamp存在的時(shí)區(qū)問題

    淺談mysql的timestamp存在的時(shí)區(qū)問題

    本文主要介紹了淺談mysql的timestamp存在的時(shí)區(qū)問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評論