SQL之union操作符

2021-10-01 10:30:47 字數 3738 閱讀 3223

菜鳥教程

sqlunion操作符合併兩個或多個 select 語句的結果

union 結果集中的列名總是等於union 中第乙個 select 語句中的列名

不允許重複:union

select column_name(s)

from table1 union

select column_name(s)

from table2;

允許重複值:union all

select column_name(s)

from table1 union

allselect column_name(s)

from table2;

但這些 select 語句 的結果集必須符合一定的要求:

create

database

ifnot

exists hardy_db default

character

set utf8mb4 collate utf8mb4_0900_ai_ci;

use hardy_db;

drop

table

ifexists lesson;

drop

table

ifexists lesson2;

create

table lesson (

id int(11

)not

null

primary

keyauto_increment

, name varchar(32

)default'',

views int(11

)not

null

default0,

created_at timestamp);

insert

into lesson(id, name, views, created_at)

values(1

,'python 基礎教程'

,981

,'2017-04-18 13:52:03'),

(2,'scala 基礎教程',73

,'2017-04-18 16:03:32');

create

table lesson2 (

id int(11

)not

null

primary

keyauto_increment

, name varchar(32

)default'',

views int(11

)not

null

default0,

created_at timestamp);

insert

into lesson(id, name, views, created_at)

values(1

,'scala 基礎教程',73

,'2017-04-18 16:03:32'),

(2,'ruby 基礎教程'

,199

,'2017-05-01 06:16:14'

);

下面的 sql 語句從lessonlesson2表中選取不同的name

select name, views from lesson union

select name, views from lesson2;

執行結果如下

mysql>

select name, views from lesson union

select name, views from lesson2;

+---------------------+-------+

| name | views |

+---------------------+-------+

| python 基礎教程 |

981|

| scala 基礎教程 |73|

| ruby 基礎教程 |

199|

+---------------------+-------+

下面的 sql 語句從lessonlesson2表中選取不同的name

select name, views from lesson union

allselect name, views form lesson2;

執行結果如下

mysql>

select name, views from lesson union

allselect name, views form lesson2;

+---------------------+-------+

| name | views |

+---------------------+-------+

| python 基礎教程 |

981|

| scala 基礎教程 |73|

| scala 基礎教程 |73|

| ruby 基礎教程 |

199|

+---------------------+-------+

任何乙個select語句都可以有wherelimit等子句

例如下面的 sql 語句從 lesson 中選取所有的 name 和 從 lesson2 中選取 views 大於 100 的 name

select name, views from lesson unin all

select name, views from lesson2 where views >

100;

執行結果如下

mysql>

select name, views from lesson unin all

select name, views from lesson2 where views >

100;

+---------------------+-------+

| name | views |

+---------------------+-------+

| python 基礎教程 |

981|

| scala 基礎教程 |73|

| ruby 基礎教程 |

199|

+---------------------+-------+

SQL的union操作符

union 操作符用於合併兩個或多個 select 語句的結果集。請注意,union 內部的 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條select 語句中的列的順序必須相同。select column name s from table name1 union ...

SQL 語句中的union操作符

前端時間,用到了union操作符,週末有時間總結下,w3c手冊內容如下 sql union操作符 union操作符用於合併兩個或多個select語句的結果集。注意 union內部select語句必須有相同數量的列。列也必須有相同的資料型別。最近在做乙個微博使用者搜尋模組,根據使用者名稱搜尋到符合條件...

七 SQL 五秒學會 UNION 操作符

sqlunion 操作符合併兩個或多個 select 語句的結果。注意 union 內部的每個 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每個 select 語句中的列的順序必須相同。select column name s from table1 union sel...