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;

SQLite基础-8.子句(二)的更多相关文章

  1. SQLite基础-7.子句(一)

    目录 SQLite子句(一) 1. WHERE子句 2. LIKE子句 3. GLOB 子句 4. Oreder By 子句 SQLite子句(一) 1. WHERE子句 WHERE 子句后面跟着条件 ...

  2. SQLite入门与分析(二)---设计与概念(续)

    SQLite入门与分析(二)---设计与概念(续)   写在前面:本节讨论事务,事务是DBMS最核心的技术之一.在计算机科学史上,有三位科学家因在数据库领域的成就而获ACM图灵奖,而其中之一Jim G ...

  3. Oracle数据库基础入门《二》Oracle内存结构

    Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

  4. SQLite基础教程目录

    SQLite基础教程目录 SQLite主页 SQLite概述 SQLite -安装 SQLite -命令 SQLite -语法 SQLite -数据类型 SQLite -创建数据库 SQLite -附 ...

  5. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  6. Bootstrap <基础三十二>模态框(Modal)插件

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用  ...

  7. 学习SQLite之路(二)

    下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本 ...

  8. AspectJ基础学习之二搭建环境(转载)

    AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...

  9. C#基础总结之二循环控制-运算符

    #region 第二天 作业2 从键盘上输入三个数,用if语句和逻辑表达式把最小数找出来. //需要:控制台输入 三个变量(a,b,c)判断这三个数其中一个最小的值 打印输出 //Console.Wr ...

随机推荐

  1. 洛谷P3935 Calculation [数论分块]

    题目传送门 格式难调,题面就不放了. 分析: 实际上这个就是这道题的升级版,没什么可讲的,数论分块搞就是了. Code: //It is made by HolseLee on 18th Jul 20 ...

  2. 【线性代数】3-2:零空间(Nullspace)

    title: [线性代数]3-2:零空间(Nullspace) categories: Mathematic Linear Algebra keywords: Nullspace Pivot Colu ...

  3. 【CUDA 基础】5.1 CUDA共享内存概述

    title: [CUDA 基础]5.1 CUDA共享内存概述 categories: - CUDA - Freshman tags: - CUDA共享内存模型 - CUDA共享内存分配 - CUDA共 ...

  4. ubuntu彻底卸载mysql并且重新安装

    环境: root@ubuntu:/usr/local/mysql/data# uname -a Linux ubuntu 4.4.0-87-generic #110-Ubuntu SMP Tue Ju ...

  5. 焦虑的 BAT、不安的编程语言,揭秘程序员技术圈生存现状!

    [程序人生编者按]在迭代不休的技术圈中,仅在过去的一个月期间,我们见证了有史以来第一张黑洞照片的诞生:经历了为让人义愤填膺的 996:思考了作为程序员的年龄之槛:膜拜了技术大神的成长历程:追逐了如编程 ...

  6. python 二分查找代码

    二分查找的条件是必须是排好的数字 """二分查找""" def binary_searhc(arr, target): n = len(ar ...

  7. OUC_Summer Training_ DIV2_#13 723afternoon

    A - Shaass and Oskols Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...

  8. ECharts3D地图(详细示例——附有具体注释)

    3D地图图表效果如下: 具体代码如下: <!DOCTYPE html><html><head> <meta charset="UTF-8" ...

  9. laravel 链式组合查询数据

    laravel 链式组合查询数据 一.总结 一句话总结: - 就是链式操作的基本操作,因为返回的都是一直可以进行链式操作的对象,所以我们接收返回的对象即可 - $result = DB::table( ...

  10. Android 网络请求Retrofit + RxJava

    一.背景 经常看到项目用Retrofit+RxJava+RxAndroid的框架,为了看懂项目的结构.现在来了解一下,Retrofit: Retrofit是Square 公司开发的一款正对Androi ...