ITPub博客

首页 > 数据库 > 数据库开发技术 > openGauss学习笔记-29 openGauss 高级数据管理-UNION子句

openGauss学习笔记-29 openGauss 高级数据管理-UNION子句

原创 数据库开发技术 作者:shuchaoyang 时间:2023-04-29 07:30:00 0 删除 编辑

openGauss学习笔记-29 openGauss 高级数据管理-UNION子句29.1 语法格式29.2 示例29.2.1 UNION29.2.2 UNION ALL

openGauss学习笔记-29 openGauss 高级数据管理-UNION子句

UNION计算多个SELECT语句返回行集合的并集。UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条SELECT语句中的列的顺序必须相同。

29.1 语法格式

  • UNION:结果中如果出现相同的值,仅保留一个。

    SELECT column_name(s) FROM table_name1
    UNION
    SELECT column_name(s) FROM table_name2;
  • UNION ALL:显示所有结果,包括重复的值。

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

29.2 示例

以表table1和表table2为例,表数据如下。

openGauss=# SELECT * FROM table1;
name  | city
-------+------
Joes  | BJ
Lily  | BJ
James | SH
Grace | SZ
(4 rows)

openGauss=# SELECT * FROM table2;
id | name  | dept
----+-------+-------
 1 | Tommy | IT
 2 | Lily  | IT
 3 | Li    | sales
 4 | Grace | IT
(4 rows)

29.2.1 UNION

列出两张表中所有雇员的姓名,重复值仅保留一个。

openGauss=# SELECT name FROM table1 UNION SELECT name FROM table2;
name
-------
Li
Lily
James
Grace
Joes
Tommy
(6 rows)

29.2.2 UNION ALL

列出两张表中所有雇员的姓名,包括重复值。

openGauss=# SELECT name FROM table1 UNION ALL SELECT name FROM table2;
name
-------
Joes
Lily
James
Grace
Tommy
Lily
Li
Grace
(8 rows)


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!


有什么吐槽或反馈意见,直接告诉我!

温馨提示:如出现二维码失效也可直接添加微信号:ysc13803862469。


原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303601