热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLite3神奇的UNION、UNIONALL与LIMIT组合

以此备忘:xxxxxx@ubuntu:~sqliteSQLite-036ebf72_orig_3.18.2$.sqlite3t.dbSQLiteversion3.18.22017-

以此备忘:

xxxxxx@ubuntu:~/sqlite/SQLite-036ebf72_orig_3.18.2$ ./sqlite3 t.db
SQLite version
3.18.2 2017-06-17 09:59:36
Enter ".help"
for usage hints.
sqlite
> create table t1(id integer primary key autoincrement, data text);
sqlite
> create table t2(id integer primary key autoincrement, data text);
sqlite
> insert into t1(data) values('t1_d1');
sqlite
> insert into t1(data) values('t1_d2');
sqlite
> insert into t2(data) values('t2_d1');
sqlite
> insert into t2(data) values('t2_d2');
sqlite
> select * from t1 union select * from t2;
1|t1_d1
1|t2_d1
2|t1_d2
2|t2_d2
sqlite
> select * from(select * from(select * from t1 limit 1) union select * from(select * from t2 limit 1));
1|t1_d1
1|t2_d1
sqlite
> select * from(select * from(select * from t1 limit 1) union all select * from(select * from t2 limit 1));
1|t1_d1
sqlite
>
sqlite
>
sqlite
> select * from(select * from(select * from t1 limit 2) union all select * from(select * from t2 limit 2));
1|t1_d1
2|t1_d2
sqlite
> select * from(select * from(select * from t1) union all select * from(select * from t2 limit 2));
1|t1_d1
2|t1_d2
1|t2_d1
2|t2_d2
sqlite
> select * from(select * from(select * from t1 limit 2) union all select * from(select * from t2));
1|t1_d1
2|t1_d2
sqlite
> select * from(select * from(select * from t1 limit 2) union select * from(select * from t2 limit 2));
1|t1_d1
1|t2_d1
2|t1_d2
2|t2_d2
sqlite
> select * from(select * from(select * from t1) union select * from(select * from t2 limit 2));
1|t1_d1
1|t2_d1
2|t1_d2
2|t2_d2
sqlite
> select * from(select * from(select * from t1 limit 2) union select * from(select * from t2));
1|t1_d1
1|t2_d1
2|t1_d2
2|t2_d2
sqlite
>

备注:aHR0cCUzQS8vd3d3LmNuYmxvZ3MuY29tL3poaGQv


推荐阅读
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Explain如何助力SQL语句的优化及其分析方法
    本文介绍了Explain如何助力SQL语句的优化以及分析方法。Explain是一个数据库SQL语句的模拟器,通过对SQL语句的模拟返回一个性能分析表,从而帮助工程师了解程序运行缓慢的原因。文章还介绍了Explain运行方法以及如何分析Explain表格中各个字段的含义。MySQL 5.5开始支持Explain功能,但仅限于select语句,而MySQL 5.7逐渐支持对update、delete和insert语句的模拟和分析。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • SQLite Select语句
    基本语法:SELECTcolumn1,column2,columnNFROMtable_name;若想获取所有可用字段,则如下:SELECT*FROMtable_name;假设:i ... [详细]
  • Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门
    第一节:前言(技术简介)EasyUI是一套js的前端框架利用它可以快速的开发出好看的前端系统web它是在jquery的框架基础上面现在越来越多的企业用它来开发web系统 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有