mysql中union和union all都是用來對子查詢後結果列進行合併用的,兩者最大的區別時union合併後沒有重複資料,union all後會有重複資料,兩者的列必須相同,數量相同,資料型別相似.
我們可以做個測試,首先建立兩個表,分別為country和country2
----建立表一 country在這裡我們故意插入一些重複國家資訊,用子查詢分別查出country和country2的國家,然後unioncreate table country(
id int,
name varchar(50),
country varchar(50)
);---建立表2 country2
create table country2(
id int,
country varchar(50)
);--分別匯入資料
insert into country values(1,'中國','china');
insert into country values(2,'美國','usa');
insert into country values(3,'印度','indan');
insert into country values(4,'中國','china');
insert into country2 values(1,'china');
insert into country2 values(2,'usa');
insert into country2 values(3,'china');
insert into country2 values(4,'indan');
select country from countryunion的結果如下:union
select country from country2;
然後操作union all:
select country from結果:country
union all
select country from country2;
結論:union和union all效果類似,union的結果沒有重複資料,union all結果有重複資料。
mysql中UNION和UNION ALL聯合查詢
union 用於合併兩個或多個 select 語句的結果集,並消去表中任何重複行。union 內部的 select 語句必須擁有相同數量的列,列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同.sql union 語法 複製 如下 select column name f...
Mysql中的Union和Union All查詢
union 用於合併兩個或多個 select 語句的結果集,並消去表中任何重複行。union 內部的 select 語句必須擁有相同數量的列,列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同。select name from a union select name fr...
MySql中UNION與UNION ALL的區別
union用的比較多union all是直接連線,取到得是所有值,記錄可能有重複 union 是取唯一值,記錄沒有重複1 union 的語法如下 sql 語句 1 union sql 語句 2 2 union all 的語法如下 sql 語句 1 union all sql 語句 2 效率 unio...