亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

初步介紹MySQL中的集合操作

2024-07-24 13:06:59
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了初步的MySQL中的集合操作,即UNION DISTINCT和UNION ALL兩個命令,需要的朋友可以參考下

啥是集合操作?

通常來說,將聯接操作看作是表之間的水平操作,因為該操作生成的虛擬表包含兩個表中的列。而我這里總結的集合操作,一般將這些操作看作是垂直操作。MySQL數據庫支持兩種集合操作:UNION DISTINCT和UNION ALL。

與聯接操作一樣,集合操作也是對兩個輸入進行操作,并生成一個虛擬表。在聯接操作中,一般把輸入表稱為左輸入和右輸入。集合操作的兩個輸入必須擁有相同的列數,若數據類型不同,MySQL數據庫自動將進行隱式轉換。同時,結果列的名稱由左輸入決定。

前期準備

準備測試表table1和table2:

 

 
  1. create table table1  
  2. (aid int not null auto_increment,  
  3. title varchar(20),  
  4. tag varchar(10),  
  5. primary key(aid))  
  6. engine=innodb default charset=utf8; 
  7.  
  8. create table table2  
  9. (bid int not null auto_increment,  
  10. title varchar(20),  
  11. tag varchar(10),  
  12. primary key(bid))  
  13. engine=innodb default charset=utf8; 

插入以下測試數據:

  1. insert into table1(aid, title, tag) values(1, 'article1''MySQL'); 
  2. insert into table1(aid, title, tag) values(2, 'article2''PHP'); 
  3. insert into table1(aid, title, tag) values(3, 'article3''CPP'); 
  4.  
  5. insert into table2(bid, title, tag) values(1, 'article1''MySQL'); 
  6. insert into table2(bid, title, tag) values(2, 'article2''CPP'); 
  7. insert into table2(bid, title, tag) values(3, 'article3''C'); 


UNION DISTINCT

UNION DISTINCT組合兩個輸入,并應用DISTINCT過濾重復項,一般可以直接省略DISTINCT關鍵字,直接使用UNION。

UNION的語法如下:

  1. SELECT column,... FROM table1  
  2. UNION [ALL
  3. SELECT column,... FROM table2 
  4. ... 


在多個SELECT語句中,對應的列應該具有相同的字段屬性,且第一個SELECT語句中被使用的字段名稱也被用于結果的字段名稱。

現在我運行以下sql語句:

  1. (select * from table1) union (select * from table2); 


將會得到以下結果:

  1. +-----+----------+-------+ 
  2. | aid | title | tag | 
  3. +-----+----------+-------+ 
  4. | 1 | article1 | MySQL | 
  5. | 2 | article2 | PHP | 
  6. | 3 | article3 | CPP | 
  7. | 2 | article2 | CPP | 
  8. | 3 | article3 | C | 
  9. +-----+----------+-------+ 

我們發現,表table1和表table2中的重復數據項:

  1. | 1 | article1 | MySQL | 


只出現了一次,這就是UNION的作用效果。

MySQL數據庫目前對UNION DISTINCT的實現方式如下:

創建一張臨時表,也就是虛擬表;

對這張臨時表的列添加唯一索引;

將輸入的數據插入臨時表;

返回虛擬表。

因為添加了唯一索引,所以可以過濾掉集合中重復的數據項。這里重復的意思是SELECT所選的字段完全相同時,才會算作是重復的。

UNION ALL

UNION ALL的意思是不會排除掉重復的數據項,比如我運行以下的sql語句:

  1. (select * from table1) union all (select * from table2); 


你將會得到以下結果:

  1. +-----+----------+-------+ 
  2. | aid | title | tag | 
  3. +-----+----------+-------+ 
  4. | 1 | article1 | MySQL | 
  5. | 2 | article2 | PHP | 
  6. | 3 | article3 | CPP | 
  7. | 1 | article1 | MySQL | 
  8. | 2 | article2 | CPP | 
  9. | 3 | article3 | C | 
  10. +-----+----------+-------+ 


發現重復的數據并不會被篩選掉。

在使用UNION DISTINCT的時候,由于向臨時表中添加了唯一索引,插入的速度顯然會因此而受到影響。如果確認進行UNION操作的兩個集合中沒有重復的選項,最有效的辦法應該是使用UNION ALL。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品嫩草影院久久| 亚洲专区国产精品| 欧美激情中文字幕乱码免费| 久久九九全国免费精品观看| 成人免费看片视频| 欧美在线一级视频| 久久精品91久久香蕉加勒比| 精品电影在线观看| 欧美特级www| 亚洲精品mp4| 欧美多人乱p欧美4p久久| 欧美在线性视频| 亚洲天堂2020| 日韩中文字幕在线| 日韩高清av在线| 亚洲国产日韩一区| 欧美黑人xxx| 日韩最新免费不卡| 国产一区二区美女视频| 黑人巨大精品欧美一区二区一视频| 欧美视频国产精品| 国产一区红桃视频| 91免费精品国偷自产在线| 欧美日韩xxx| 欧美老妇交乱视频| 国产精品h在线观看| 色吧影院999| 日本精品久久久久影院| 色综合久综合久久综合久鬼88| 国产精品大片wwwwww| 国内精品久久久久久久久| 91极品视频在线| 日韩成人激情影院| 国产精品电影网| 亚洲成人精品在线| 亚洲毛片一区二区| 色久欧美在线视频观看| 亚洲综合日韩在线| 国产精品福利在线观看| 国产日韩av在线| 国产一区二区在线免费| 亚洲女人天堂成人av在线| 中文字幕亚洲情99在线| 国产91色在线| 国产精品com| 亚洲色图偷窥自拍| 亚洲影视九九影院在线观看| 欧美专区福利在线| 亚洲一区制服诱惑| 欧美福利视频在线| 亚洲国产欧美精品| 日韩欧中文字幕| 国产日韩欧美视频在线| 久久亚洲精品小早川怜子66| 久久久精品999| 97久久久免费福利网址| 日韩三级影视基地| 色多多国产成人永久免费网站| 2020久久国产精品| 久久国产精品首页| 77777少妇光屁股久久一区| 成人精品网站在线观看| 久久亚洲精品视频| 国产精品一区av| 国产精品欧美在线| 久久久久久久久综合| 国产精品久久久久影院日本| 久久最新资源网| 欧美成人一二三| 欧美极品在线视频| 91久久久久久久久久| 国产成人aa精品一区在线播放| 韩日精品中文字幕| 欧美黄色片在线观看| 国模gogo一区二区大胆私拍| 久久精品视频在线播放| 日韩精品视频在线| 成人精品一区二区三区电影黑人| 91九色综合久久| 欧美成人激情在线| 日韩国产一区三区| 欧美性极品xxxx做受| 中文字幕国产精品| 57pao成人永久免费视频| 日韩中文字幕国产| 亚洲最大成人网色| 播播国产欧美激情| 成人h视频在线| 97视频在线免费观看| 中文字幕精品在线| 亚洲成色777777在线观看影院| 日韩av不卡电影| 主播福利视频一区| 亚洲欧美综合区自拍另类| 国产视频亚洲精品| 亚洲国产精品久久久久秋霞不卡| 欧美日韩不卡合集视频| 国内成人精品视频| 一区二区欧美日韩视频| 成人国产精品一区| 亚洲第一在线视频| 亚洲最大福利网站| 欧美视频在线免费看| 97婷婷大伊香蕉精品视频| 欧美视频在线观看 亚洲欧| 亚洲天堂成人在线| 欧美激情视频在线免费观看 欧美视频免费一| 91精品国产乱码久久久久久蜜臀| 成人一区二区电影| 中文字幕自拍vr一区二区三区| 国产精品日日做人人爱| 久久久久久久91| 亚洲综合中文字幕在线观看| 国内成人精品视频| 91精品久久久久久久久久久久久| 在线激情影院一区| 欧美日韩国产一区在线| 欧美激情第一页xxx| 精品久久中文字幕久久av| 欧美精品www在线观看| 欧美日韩国产色| 欧美大片在线免费观看| 国产精品美腿一区在线看| 国产自产女人91一区在线观看| 日韩中文在线视频| 77777少妇光屁股久久一区| 亚洲春色另类小说| 2019av中文字幕| 亚洲第一区中文字幕| 国产成人精品999| 永久免费看mv网站入口亚洲| 中文字幕综合一区| 日韩欧美国产激情| 俺去了亚洲欧美日韩| 国产美女精彩久久| 欧美精品少妇videofree| 国产精品视频永久免费播放| 国产视频自拍一区| 91免费在线视频网站| 777午夜精品福利在线观看| 亚洲精品美女久久久| 国产亚洲精品高潮| 国产精自产拍久久久久久蜜| 中文字幕国产亚洲| 亚洲欧美日韩在线高清直播| 2021久久精品国产99国产精品| 成人免费看吃奶视频网站| 日韩国产高清视频在线| 亚洲美女在线视频| 亚洲综合视频1区| 欧美激情网友自拍| 日韩在线视频免费观看| 在线视频日韩精品| 欧美一级免费视频| 亚洲xxx大片| 日韩中文字幕免费| 亚洲女性裸体视频| 91亚洲人电影| 乱亲女秽乱长久久久| 欧美成人精品一区二区| 91高潮精品免费porn| 亚洲欧美日韩久久久久久| 久久好看免费视频| 色综合伊人色综合网站|