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

最新文章

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

热门文章

  1. LA 7263 Today Is a Rainy Day bfs+暴力 银牌题
  2. Combine String HDU - 5707 dp or 广搜
  3. jQuery系列(八):jQuery的位置信息
  4. CSS高级学习-1
  5. django 快速实现注册(四)
  6. Python list 遇到的问题
  7. 【软件工程】Beta冲刺(5/5)
  8. Oracle中根据列名找到所属的表
  9. hadoop用户和权限
  10. 性能分析 | MySQL 的慢查分析实例