首页 > 其他分享 >openGauss UNION子句

openGauss UNION子句

时间:2024-04-26 11:24:39浏览次数:11  
标签:name UNION 子句 openGauss Lily Grace SELECT

UNION子句

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

语法格式

  • 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;
    

示例

以表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)
  • UNION

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

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

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

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

标签:name,UNION,子句,openGauss,Lily,Grace,SELECT
From: https://www.cnblogs.com/renxyz/p/18159588

相关文章

  • openGauss UPDATE语句
    UPDATE语句修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行,所有行或者指定的部分行。还可以独立更新每个字段,而其他字段则不受影响。UPDATE修改满足条件的所有行中指定的字段值,WHERE子句声明条件,SET子句指定的字段会被修改,没有出现的字段则保持它们的原值。语......
  • openGauss SCHEMA
    SCHEMASCHEMA又称作模式。通过管理SCHEMA,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的SCHEMA下而不引起冲突。每个数据库包含一个或多个SCHEMA。数据库中的每个SCHEMA包含表和其他类型的对象。数据库创建初......
  • openGauss SELECT语句
    SELECT语句SELECT语句用于从表或视图中取出数据,结果被存储在一个结果表中,称为结果集。SELECT语句就像叠加在数据库表上的过滤器,利用SQL关键字从数据表中过滤出用户需要的数据。语法格式SELECT{*|[column,...]}[FROMfrom_item[,...]];参数说明SELECT列表指......
  • openGauss JOIN
    JOINJOIN子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。在openGauss中,JOIN有五种连接类型:CROSSJOIN:交叉连接INNERJOIN:内连接LEFTOUTERJOIN:左外连接RIGHTOUTERJOIN:右外连接FULLOUTERJOIN:全外连接以表table1和表table2为例说明不同连接类型,......
  • openGauss NULL值
    NULL值NULL值代表未知数据。无法比较NULL和0,因为它们是不等价的。创建表时,可以指定列可以存放或者不能存放NULL值,详情请参见NOTNULL约束。本节介绍ISNULL和ISNOTNULL操作符。创建表customer_t1,数据如下:openGauss=#SELECT*FROMcustomer_t1;c_customer_sk|c_custome......
  • openGauss ORDER-BY子句
    ORDERBY子句ORDERBY子句用于对SELECT语句检索得到的一列或者多列数据进行升序(ASC)或者降序(DESC)排列。语法格式SELECT{*|[column,...]}[FROMfrom_item[,...]][ORDERBY{expression[ASC|DESC]}];参数说明ORDERBY子句对SELECT语句检索得到的数据进......
  • openGauss INSERT-INTO语句
    INSERTINTO语句在创建一个表后,表中并没有数据,使用这个表之前,需要向表中插入数据。INSERTINTO语句用于向表中插入新记录。该语句可以插入一行数据也可以同时插入多行数据。语法格式INSERTINTOtable_name[(column_name[,...])]{DEFAULTVALUES|VALUES{(......
  • 题解 CF1743F【Intersection and Union】
    postedon2022-10-2119:23:54|under题解|sourceproblem给定\(n\)个集合\(S_i\),以\(l_i,r_i\)的形式给出,集合的元素就是\(\{x|x\in[l_i,r_i]\cap\mathbb{N}\}\)。有三种集合间的二元运算,分别是交(\(\cap\))、并(\(\cup\))、对称差(\(\oplus\))。其中对称差(\(A\oplusB......
  • 字符型union注入
    注入目标和思路:拿到库名---拿到表名---拿到列名---拿到用户名和密码用id=1'orderbyx--+来确定表有几列,然后用id=0'unionselectx1,x1,x3--+来确定回显位,然后在更改回显位用database()来拿到数据库名,以下用sqlname表示。注:数据库系统的数据库information_schem......
  • 什么是UnionId、OpenId与wxopenid?
    如果你对UnionId、OpenId、wxopenid这三个概念傻傻分不清,那看这篇文章就对了。了解微信账户体系,能帮助你更好地做小程序设计。01概念解释小程序OpenIdOpenId是一个用户对于一个小程序/公众号的标识,开发者可以通过这个标识识别出用户。类似wxopenid,同一个人,使用不同的小程......