SQLite基础-8.子句(二)
SQLite子句(二)
1. GROUP BY子句
GROUP BY子句与SELECT语句一起使用,对数据进行分组。
位置:放在WHERE子句后,放在ORDER BY子句之前。
-- 语法
SELECT * FROM table_name
WHERE [condition]
GROUP BY column1,, column2,..
ORDER BY column1 DESC;
-- 实例
select * from link_men
where name = 'eric'
group by address;
2. HAVING子句
HAVING 子句通常与GROUP BY子句联合使用,用来过滤由GROUP BY子句返回的分组结果。
-- 语法
SELECT * FROM table_name
WHERE [condition]
GROUP BY column1
HAVING [condition]
ORDER BY column1 DESC;
--实例
SELECT * FROM table_name
GROUP BY address
HAVING count(address) < 2;
实例
语句 | 描述 |
---|---|
WHERE SALARY LIKE '200%' | 查找以 200 开头的任意值 |
WHERE SALARY LIKE '%200%' | 查找任意位置包含 200 的任意值 |
WHERE SALARY LIKE '_00%' | 查找第二位和第三位为 00 的任意值 |
WHERE SALARY LIKE '2_%_%' | 查找以 2 开头,且长度至少为 3 个字符的任意值 |
WHERE SALARY LIKE '%2' | 查找以 2 结尾的任意值 |
WHERE SALARY LIKE '_2%3' | 查找第二位为 2,且以 3 结尾的任意值 |
WHERE SALARY LIKE '2___3' | 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值 |
3. LIMIT 子句
LIMIT子句来限制SELECT语句返回的行数。
-- 语法
SELECT * FROM table_name
[WHERE condition]
[ORDER BY column1, column2,...] [ASC | DESC]
LIMIT row_count
OFFSET offset;
-- OFFSET 可选,偏移行。在约束行数之前,先跳过偏移行。
-- 实例
SELECT * FROM link_men
ORDER BY salary
LIMIT 10;
4. IF EXISTS 和 IF NOT EXISTS 子句
IF EXISTS 和 IF NOT EXISTS子句表示如果当前创建的数据表名已经存在 和 如果当前创建的数据表名不存在,一般用在 CREATE和DROP语句中。
用于防止以下场景:
- 当表存在时再次创建表或者视图,产生异常:Error: table link_men already exists
- 当表或者视图不存在时删除表,产生异常:Error: no such table: link_men
-- 语法
CREATE TABLE IF NOT EXISTS table_name (
column1 datatype PRIMARY KEY,
...
columnN datatype,
);
DROP TABLE IF EXISTS table_name;
-- 实例
CREATE TABLE IF NOT EXISTS link_men(
ID INT PRIMARY KEY NOT NULL,
...
);
DROP TABLE IF EXISTS link_men;
SQLite基础-8.子句(二)的更多相关文章
- SQLite基础-7.子句(一)
目录 SQLite子句(一) 1. WHERE子句 2. LIKE子句 3. GLOB 子句 4. Oreder By 子句 SQLite子句(一) 1. WHERE子句 WHERE 子句后面跟着条件 ...
- SQLite入门与分析(二)---设计与概念(续)
SQLite入门与分析(二)---设计与概念(续) 写在前面:本节讨论事务,事务是DBMS最核心的技术之一.在计算机科学史上,有三位科学家因在数据库领域的成就而获ACM图灵奖,而其中之一Jim G ...
- Oracle数据库基础入门《二》Oracle内存结构
Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...
- SQLite基础教程目录
SQLite基础教程目录 SQLite主页 SQLite概述 SQLite -安装 SQLite -命令 SQLite -语法 SQLite -数据类型 SQLite -创建数据库 SQLite -附 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Bootstrap <基础三十二>模态框(Modal)插件
模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用 ...
- 学习SQLite之路(二)
下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本 ...
- AspectJ基础学习之二搭建环境(转载)
AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...
- C#基础总结之二循环控制-运算符
#region 第二天 作业2 从键盘上输入三个数,用if语句和逻辑表达式把最小数找出来. //需要:控制台输入 三个变量(a,b,c)判断这三个数其中一个最小的值 打印输出 //Console.Wr ...
随机推荐
- fiddler无法生成证书
在win7有可能无法生成证书打开安装Fiddler的路径下,按住shift 右击在此处打开命令行窗口 输入以下命令 makecert.exe -r -ss my -n "CN=DO_NO ...
- layer是一款近年来备受青睐的web弹层组件
layer.closeAll(); //疯狂模式,关闭所有层 layer.closeAll('dialog'); //关闭信息框 layer.closeAll('page'); //关闭所有页面层 l ...
- mybatis 对string类型判断比较 group case when then 综合
[quote] 特别注意两点 一个是where 的用法group的用法 case when的用法 <if test='hasLoanApplicationFlag == "1" ...
- linux环境中关闭tomcat,通过shutdown.sh无法彻底关闭--线程池
最近测试环境上测试的项目通过shutdown.sh始终无法彻底关闭. 之前临时解决方法两种: 第一:通过ps -ef|grep tomcat查看到tomcat的进程直接使用kill来杀死进程. 第二: ...
- SchedulerFactoryBean的问题
http://blog.csdn.net/beliefer/article/details/51578546
- 利用简易爬虫完成一道基础CTF题
利用简易爬虫完成一道基础CTF题 声明:本文主要写给新手,侧重于表现使用爬虫爬取页面并提交数据的大致过程,所以没有对一些东西解释的很详细,比如表单,post,get方法,感兴趣的可以私信或评论给我.如 ...
- OUC_Summer Training_ DIV2_#16 725
今天做了这两道题真的好高兴啊!!我一直知道自己很渣,又贪玩不像别人那样用功,又没有别人有天赋.所以感觉在ACM也没有学到什么东西,没有多少进步.但是今天的B题告诉我,进步虽然不明显,但是只要坚持努力的 ...
- Flutter移动电商实战 --(11)首页_屏幕适配方案和制作
1.flutter_ScreenUtil插件简介 flutter_ScreenUtil屏幕适配方案,让你的UI在不同尺寸的屏幕上都能显示合理的布局. 插件会让你先设置一个UI稿的尺寸,他会根据这个尺寸 ...
- LVS集群
集群: 将许多小的,性能较低的服务器做成一个大的性能高的超级服务器 集群分为负载均衡集群,高可用集群,高性能运算集群 LVS体系结构与工作原理描述 LVS集群负载均衡器接受服务的所有入站客户端计算机请 ...
- Android关闭通知栏后toast无法提示的解决方案
https://github.com/getActivity/ToastUtils PS:release版本注意加上混淆规则