自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQLunion 語法代碼演示

數(shù)據(jù)庫(kù) MySQL
我們今天主要向大家介紹的是MySQLunion 語法代碼演示,如果你對(duì)其相關(guān)的實(shí)際操作有興趣的話,以下就是相關(guān)內(nèi)容的具體描述。

以下的文章主要介紹的是MySQLunion 語法代碼演示,我前兩天在相關(guān)網(wǎng)站看見MySQLunion 語法代碼演示的資料,覺得挺好,就拿出來供大家分享。希望在你今后的學(xué)習(xí)中會(huì)對(duì)你有所幫助。

復(fù)制代碼

  1. SELECT ...   
  2. UNION [ALL | DISTINCT]   
  3. SELECT ...   
  4. [UNION [ALL | DISTINCT]   
  5. SELECT ...]   
  6. SELECT ... UNION [ALL | DISTINCT] SELECT ... [UNION [ALL | DISTINCT] SELECT ...]  

UNION 用于把來自許多SELECT語句的結(jié)果組合到一個(gè)結(jié)果集合中。 (如果你要將多個(gè)表的查詢結(jié)果進(jìn)行合并輸出比如說 群組消息跟個(gè)人消息表是分離的但是想一起提取出來并顯示的話就可以如此處理。通過MySQLUNION聯(lián)合查詢出來即可)

列于每個(gè)SELECT語句的對(duì)應(yīng)位置的被選擇的列應(yīng)具有相同的類型(前提條件是兩個(gè)SELECT出來的列類型要保持一樣的才行!)。(例如,被*** 個(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ù)制代碼

  1. (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é)果集處理然后再對(duì)此大的結(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è)會(huì)運(yùn)行失敗,出現(xiàn)在'order clause'中有未知列'a'的錯(cuò)誤:

代碼 復(fù)制代碼

  1. (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:   
  2. (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ù)制代碼

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

代碼 復(fù)制代碼

  1. (   
  2. SELECT *   
  3. FROM `blog`   
  4. WHERE top=1   
  5. ORDER BY created DESC   
  6. )   
  7. UNION (   
  8. SELECT *   
  9. FROM `blog`   
  10. WHERE top = 0   
  11. ORDER BY created DESC   
  12. ) LIMIT 2 , 3   
  13.  

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

【編輯推薦】

  1. MySQL命令行的常用命令介紹
  2. MySQL數(shù)據(jù)庫(kù)所支持的三個(gè)引擎
  3. MySQL數(shù)據(jù)類型與相應(yīng)的建庫(kù)策略
  4. Mysql臨時(shí)表的具體使用方案
  5. MySQL連接池的實(shí)際配置問題
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-11-16 10:40:02

PHP上傳文件代碼

2009-11-16 10:49:43

PHP上傳文件代碼

2009-11-17 17:17:50

PHP上傳多個(gè)文件

2010-07-16 17:03:35

SQL Server

2009-11-03 11:06:40

VB.NET事件

2009-11-13 10:01:50

ADO.NET CAS

2009-10-29 13:46:14

VB.NET DES加

2021-05-26 08:02:03

ThreadLocal多線程多線程并發(fā)安全

2009-11-04 09:02:34

ADO.NET _C

2009-08-19 15:38:59

C#代碼

2017-07-24 09:45:15

JavaScript語法代碼

2013-09-09 09:50:27

代碼語法工具

2009-11-02 09:45:23

VB.NET文件系統(tǒng)對(duì)

2009-11-27 15:13:00

PHP靜態(tài)變量stat

2010-05-31 14:59:36

PHP + MySQL

2010-05-18 17:24:44

MySQL修改表字段

2014-03-14 10:56:59

語法高亮代碼高亮

2017-07-26 17:38:10

JavaScriptBabel

2009-10-28 15:18:46

VB.NET網(wǎng)絡(luò)應(yīng)用

2009-10-27 10:58:00

VB.NET文件名排序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)