当前位置:Gxlcms > 数据库问题 > SQL中union运算操作的理解

SQL中union运算操作的理解

时间:2021-07-01 10:21:17 帮助过:3人阅读

column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2

在学习过程中,我产生了一个疑问,如果两个表的属性名称不同会出现什么情况呢?

直接模拟了一个例子,构建代码如下:

create table employee
(empname     char(6),
numchildren    int
)

create table dependent
(depname     char(6),
age    int
)

insert into employee values(haohao,2);
insert into employee values(haohao,4);
insert into employee values(fgsd,5);
insert into employee values(hds,7);
insert into employee values(hauuo,9);
insert into employee values(hsao,4);
insert into employee values(hhao,5);


insert into dependent values(haohao,2);
insert into dependent values(hdgso,2);
insert into dependent values(hreo,2);
insert into dependent values(hjh,2);
insert into dependent values(haaao,2);

这两个表的属性只是数据类型相同,测试效果如下:

(select  empname,numchildren
from employee)
union
(select depname,age
from dependent
)

结果为:

"hjh ";2
"hhao ";5
"haohao";2
"hdgso ";2
"haohao";4
"fgsd ";5
"hds ";7
"hsao ";4
"haaao ";2
"hreo ";2
"hauuo ";9

可以看出,进行了合并,并且去除了重复。

后来在W3School中的SQL模块看到了对于并运算的定义:

  “请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。”

参考链接:http://www.w3school.com.cn/sql/sql_union.asp

2015-05-20

17:58:35

SQL中union运算操作的理解

标签:

人气教程排行