union 和 union all的區別

前言:

爲了方便自己能夠更好的理解,今天我想做一個union和union all的簡單小測試,。

概述:

union   :  對倆個結果集進行並集操作,不包含重複行,同時進行默認規則的排序。

union all:  對倆個結果集進行並集操作,包含重複行,不進行排序。

演示:

     注:下面的例子沒有對結果集排序。

  • (1)新建倆張表 linkman 和linkman2
CREATE TABLE `linkman` (
  `id` int(11) NOT NULL COMMENT '序號',
  `linkman_name` varchar(255) DEFAULT NULL COMMENT '聯繫人名稱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



CREATE TABLE `linkman2` (
  `id` int(11) NOT NULL COMMENT '序號',
  `linkman_name` varchar(255) DEFAULT NULL COMMENT '聯繫人名稱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

  • (2) 往表裏面添加數據
INSERT INTO `linkman`(`id`, `linkman_name`) VALUES (1, '張三的員工1');
INSERT INTO `linkman`(`id`, `linkman_name`) VALUES (2, '張三的員工2');
INSERT INTO `linkman`(`id`, `linkman_name`) VALUES (3, '武漢加油');
INSERT INTO `linkman`(`id`, `linkman_name`) VALUES (4, '李四的員工1');
INSERT INTO `linkman`(`id`, `linkman_name`) VALUES (5, '李四的員工2');



INSERT INTO `linkman2`(`id`, `linkman_name`) VALUES (1, '消炎');
INSERT INTO `linkman2`(`id`, `linkman_name`) VALUES (2, '肺炎');
INSERT INTO `linkman2`(`id`, `linkman_name`) VALUES (3, '武漢加油');
  • (3) 測試
  1. union  的查詢結果
  2. 可以看到 union  只返回了一個武漢加油。

union all 的查詢結果

可以看到 union all  將倆張表中的武漢加油都返回了。

 

 

 

 

 

 

發佈了49 篇原創文章 · 獲贊 46 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章