SQLite的UNION子句/运算符用于合并两个或多个SELECT语句的结果,不返回任何重复的行。

为了使用UNION,每个SELECT被选择的列数必须是相同的,相同数目的列表达式,相同的数据类型,并确保它们有相同的顺序,但它们不必具有相同的长度。

语法

UNION的基本语法如下:

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]UNIONSELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

实例

假设下面两个表,(1)COMPANY表如下所示:

sqlite> select * from COMPANY;
ID          NAME                  AGE         ADDRESS     SALARY
----------  --------------------  ----------  ----------  ----------
1           Paul                  32          California  20000.0
2           Allen                 25          Texas       15000.0
3           Teddy                 23          Norway      20000.0
4           Mark                  25          Rich-Mond   65000.0
5           David                 27          Texas       85000.0
6           Kim                   22          South-Hall  45000.0
7           James                 24          Houston     10000.0

(2)另一个表是DEPARTMENT,如下所示:

ID          DEPT                  EMP_ID
----------  --------------------  ----------
1           IT Billing            1
2           Engineering           2
3           Finance               7
4           Engineering           3
5           Finance               4
6           Engineering           5
7           Finance               6

现在,让我们使用SELECT语句及UNION子句来连接两个表,如下所示:

sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENTON COMPANY.ID = DEPARTMENT.EMP_IDUNIONSELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENTON COMPANY.ID = DEPARTMENT.EMP_ID;

这将产生以下结果:

EMP_ID      NAME                  DEPT
----------  --------------------  ----------
1           Paul                  IT Billing
2           Allen                 Engineerin
3           Teddy                 Engineerin
4           Mark                  Finance
5           David                 Engineerin
6           Kim                   Finance
7           James                 Finance

UNION ALL 子句

UNION ALL 运算符用于结合两个SELECT语句的结果,包括重复行。

适用于UNION的规则同样适用于UNION ALL运算符。

语法

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]UNION ALLSELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

实例

现在,让我们使用SELECT语句及UNION ALL子句来连接两个表,如下所示:

sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENTON COMPANY.ID = DEPARTMENT.EMP_IDUNION ALLSELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENTON COMPANY.ID = DEPARTMENT.EMP_ID;

这将产生以下结果:

EMP_ID      NAME                  DEPT
----------  --------------------  ----------
1           Paul                  IT Billing
2           Allen                 Engineerin
3           Teddy                 Engineerin
4           Mark                  Finance
5           David                 Engineerin
6           Kim                   Finance
7           James                 Finance
1           Paul                  IT Billing
2           Allen                 Engineerin
3           Teddy                 Engineerin
4           Mark                  Finance
5           David                 Engineerin
6           Kim                   Finance
7           James                 Finance

参考:https://www.yuque.com/docs/share/7025f4a7-74e4-456f-8012-ced0dc91e73b

SQLite Unions子句相关推荐

  1. android sqlite union,SQLite Unions 子句

    SQLite Unions 子句 SQLite的 UNION 子句/运算符用于合并两个或多个 SELECT 语句的结果,不返回任何重复的行. 为了使用 UNION,每个 SELECT 被选择的列数必须 ...

  2. SQLite Where 子句(http://www.w3cschool.cc/sqlite/sqlite-where-clause.html)

    SQLite Where 子句 SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件. 如果满足给定的条件,即为真(true)时,则从表中返回特定的值.您可以使用 WHERE 子句 ...

  3. SQLite | Case 子句

    文章目录 1. The CASE Statement 1.1 The CASE Statement 1.2 The "Zero/Null" CASE Trick 参考资料 相关文章 ...

  4. SQLite | Where 子句

    文章目录 1. Where 1.1 筛选记录 1.2 Using WHERE on Numbers 1.3 逻辑判断 1.4 Using WHERE on Text 1.5 Using Where o ...

  5. oracle glob,SQLite GLOB子句

    SQLite GLOB操作符通过使用通配符将模式表达式与文本值匹配, 当搜索表达式与模式表达式匹配时,GLOB运算符将返回真,该值为:1. GLOB运算符遵循UNIX的语法,使用指定以下通配符. 星号 ...

  6. SQLite入门到精通之十二:进阶3:特殊指令:PRAGMA|Join|Unions|Alter

    SQLite PRAGMA SQLite 的 PRAGMA 命令是一个特殊的命令,可以用在 SQLite 环境内控制各种环境变量和状态标志.一个 PRAGMA 值可以被读取,也可以根据需求进行设置. ...

  7. 【编程实践】SQLite 极简教程

    1 SQLite 教程 SQLite 简介 本教程帮助您了解什么是 SQLite,它与 SQL 之间的不同,为什么需要它,以及它的应用程序数据库处理方式. SQLite 是一个软件库,实现了自给自足的 ...

  8. 【SQLITE3】SQLITE3菜鸟笔记

    SQLite 安装 SQLite 的一个重要的特性是零配置的,这意味着不需要复杂的安装或管理.本章将讲解 Windows.Linux 和 Mac OS X 上的安装设置. 在 Windows 上安装 ...

  9. SQLite | Group By 和 Order By 子句

    文章目录 1. Group by and Order by 1.1 Group Records 1.2 Ordering Records 1.3 Aggregate Functions 1.4 The ...

最新文章

  1. 第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查...
  2. 傅里叶变换的初级理解二
  3. 对数学本质特征的若干认识
  4. Flex与.NET互操作(二):基于WebService的数据访问(上)
  5. window bat
  6. Android 的 生命周期_ 界面的切换 和 吐司
  7. Linux进阶之路————Linux运行级别(重置密码)
  8. videojs插件使用
  9. 页面中动态画有超连接的图
  10. Eclipse-Mybatis-generatorConfig.xml
  11. 【PAT】2021年冬季考试甲级,摸鱼游记、92分
  12. Makefile文件(六)_使用条件判断
  13. 3.Magento的布局(Layout),块(Block)和模板(Template)
  14. Java 反射:Classes
  15. OpenWRT路由器-中继模式下无线接入
  16. python dask_使用Python并行框架Dask处理和分析大规模时空数据
  17. 微信开通公众号 每日发一篇编程精文 自己搞着玩,不盈利
  18. part1:推荐一些适合练手、课程设计、毕业设计的python小项目源码,无任何下载门槛
  19. 《Gradient Harmonized Single-stage Detector》论文阅读以及代码分析
  20. 腾讯云「邮件证书」重磅发布!从此告别邮件安全漏洞

热门文章

  1. MATLAB 代数环错误,我的simulink出现这个代数环的错误。
  2. 深入理解高并发服务器性能优化
  3. 空间网架及穹顶网壳结构计算机辅助设计绘图系统gdcad用户手册,用GDCAD完成MIDAS分析的结构模型中网架网壳的设计与绘图...
  4. 中国网络不该娱乐化?
  5. 对于有抱负的软件开发人员:采访是一条两条路
  6. 一步步搭建视频直播系统,基于LFLiveKit+ijkplayer+rtmp(iOS端)
  7. 装箱问题--C++实现
  8. 北大博士用经验告诉你如何成为一名合格的NLP对话系统工程师
  9. 为什么Facebook无法取消QAnon
  10. 计算机应用基础实验教程电子,计算机应用基础实验教程-Windows 7+Office 2010.pdf