openGauss学习笔记-29 openGauss 高级数据管理-UNION子句
  YBB18LuLIOMf 2023年11月02日 48 0

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)

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

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

✏️ 评论,你的意见是我进步的财富!

图片

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

YBB18LuLIOMf