SQLite基础-8.子句(二)
2024-09-05 09:12:43
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;
最新文章
- Redis系列之(二):Redis主从同步,读写分离
- [翻译]lithium 快速上手(QuickStart)
- Install CodeBlocks in CentOS 7
- div在Iframe 被遮挡解决方法
- ubuntu下wine安装软件
- java计算组合数
- html插入图片和多媒体
- 24种设计模式--迭代模式【Iterator Pattern】
- 【翻译】五步快速使用LINQPad尝鲜StreamInsight
- [Angular 2] Build a select dropdown with *ngFor in Angular 2
- struts2.1.8+hibernate2.5.6+spring3.0(ssh2三大框架)常见异常原因和解决方案
- BZOJ4827 [Hnoi2017]礼物 多项式 FFT
- VC调用外部程序
- 邂逅明下 HDU - 2897
- 3个问题:MySQL 中 character set 与 collation 的理解;utf8_general_ci 与 utf8_unicode_ci 区别;uft8mb4 默认collation:utf8mb4_0900_ai_ci 的含义
- IIS6 Gzip 网页GZIP压缩(转)
- 网页向flash传参数。显示视频。(例子)
- Java的平台无关性如何体现出来的
- html5+js+.Net的即时多人聊天
- BZOJ3529: [Sdoi2014]数表(莫比乌斯反演 树状数组)