暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL查询| 数据分布在不同的表中怎么查询?

米宏Office 2022-06-11
139

我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office软件为其服务。支持我,也为自己加油!


微语:  别和过往过不去,因为它已经过去;别和现实过不去,因为你还要过下去。

有时候,我们的数据可能是分好几个表存储的,如果需要在每个表中查询结果,然后把他们合并在一起该怎么写查询语句呢?

案例:

数据源中分公司1中存储了如下信息:


分公司2中存储了如下信息:



一共10位员工的ID和姓名。

1、查询两个分公司的员工姓名

查询一个分公司的员工姓名,这个是最基础的,如下:
查询分公司1的员工姓名:
select 姓名 from [分公司1$]
查询分公司2的员工姓名:
select 姓名 from [分公司2$]

如果要同时查两个公司的员工姓名,需要将两条语句联合起来,用union可以连接,如下:
select 姓名 from [分公司1$] union select 姓名 from [分公司2$]


执行下看效果:



查询出来的姓名有9个,为什么?

因为两个公司中都有卫条条这个人,查询结果中重复的数据只显示一次。

2、如何才能让重复的数据都显示出来呢?

语句如下:
select 姓名 from [分公司1$] union all select  姓名 from [分公司2$]

执行看效果:


完全没有任何问题。

3、上面是针对提取列只有一列的情况,如果是多列呢?比如要查询两个表中所有的员工ID和姓名?

语句:
select 员工ID,姓名 from [分公司1$] union select  员工ID,姓名 from [分公司2$]

看下效果:



总结:
1、UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
2、UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
3、默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL
3、UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。



6月15日

Excel函数培训班招生进行中

110个函数,40节课

每节课都有练习

课程包答疑

需要参加培训的朋友

请私聊我,微信:527240310



本节先分享到这里,祝大家每天都有进步。

打开以下公众号,点击,服务→云课堂

系统学习Office知识,

购买的课程包素材答疑哦!

↙点击“阅读原文进入米宏学院

文章转载自米宏Office,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论