mysql中union和union all的區別?

2022-07-22 13:51:20 字數 1304 閱讀 9483

mysql中union和union all都是用來對子查詢後結果列進行合併用的,兩者最大的區別時union合併後沒有重複資料,union all後會有重複資料,兩者的列必須相同,數量相同,資料型別相似.

我們可以做個測試,首先建立兩個表,分別為country和country2

----建立表一 country

create 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');

在這裡我們故意插入一些重複國家資訊,用子查詢分別查出country和country2的國家,然後union

select country from country 

union

select country from country2;

union的結果如下:

然後操作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...