SQLite - WHERE子句
SQLite - WHERE子句
SQLite WHERE子句用于指定一个条件同时抓取数据从一个表或多个表。
如果给定的条件满意,意味着true,然后从表中返回特定值。你会使用WHERE子句来筛选记录,只获取必要的记录。
WHERE子句不仅用于SELECT语句,但它也用于更新、删除语句,等等,我们将在后续章节的研究。
语句
SQLite SELECT语句的WHERE子句的基本语法如下:
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]
例子
您可以指定一个条件使用比较或逻辑运算符>、<、=,,等。考虑公司表有以下记录:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
以下是简单的例子显示使用SQLite逻辑运算符。下列SELECT语句列表下的所有记录,年龄大于或等于25和工资是大于且等于65000.00:
sqlite> SELECT * FROM COMPANY WHERE AGE >=25 AND SALARY >=65000;
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
4Mark25Rich-Mond65000.0
5David27Texas85000.0
下列SELECT语句列表下的所有记录,年龄大于或等于25或工资是大于或等于65000.00:
sqlite> SELECT * FROM COMPANY WHERE AGE >=25 OR SALARY >=65000;
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
1Paul32California20000.0
2Allen25Texas15000.0
4Mark25Rich-Mond65000.0
5David27Texas85000.0
下列SELECT语句列表下的所有记录,年龄并不是空这意味着所有的记录,因为没有记录的年龄等于零:
sqlite> SELECT * FROM COMPANY WHERE AGE IS NOT NULL;
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
1Paul32California20000.0
2Allen25Texas15000.0
3Teddy23Norway20000.0
4Mark25Rich-Mond65000.0
5David27Texas85000.0
6Kim22South-Hall45000.0
7James24Houston10000.0
下列SELECT语句列表下的所有记录名称始于"ki","ki"后是什么并不重要。
sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%';
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
6Kim22South-Hall45000.0
下列SELECT语句列表下的所有记录名称始于"ki","ki"后是什么并不重要。
sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*';
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
6Kim22South-Hall45000.0
下列SELECT语句列表下的所有记录年龄值为25或27:
sqlite> SELECT * FROM COMPANY WHERE AGE IN (25,27);
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
2Allen25Texas15000.0
4Mark25Rich-Mond65000.0
5David27Texas85000.0
下列SELECT语句列表下的所有记录的年龄值不是25和27:
sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN (25,27);
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
1Paul32California20000.0
3Teddy23Norway20000.0
6Kim22South-Hall45000.0
7James24Houston10000.0
下列SELECT语句列表下的所有记录,年龄25 - 27之间:
sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27;
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
2Allen25Texas15000.0
4Mark25Rich-Mond65000.0
5David27Texas85000.0
SELECT语句利用SQL查询,子查询后发现所有记录年龄字段有工资> 65000,后来使用where子句以及存在运营商列表下的所有记录,年龄从外部查询存在于子查询返回的结果:
sqlite> SELECT AGE FROM COMPANY
WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY >65000);
AGE
----------
32
25
23
25
27
22
24
SELECT语句利用SQL查询,子查询后发现所有记录年龄字段有工资> 65000,后来一起使用where子句>操作符列表下来年龄以外的所有记录查询年龄大于子查询返回的结果:
sqlite> SELECT * FROM COMPANY
WHERE AGE >(SELECT AGE FROM COMPANY WHERE SALARY >65000);
ID NAME AGE ADDRESS SALARY
--------------------------------------------------
1Paul32California20000.0
SQLite - WHERE子句的更多相关文章
- SQLite Where 子句(http://www.w3cschool.cc/sqlite/sqlite-where-clause.html)
SQLite Where 子句 SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件. 如果满足给定的条件,即为真(true)时,则从表中返回特定的值.您可以使用 WHERE 子句 ...
- SQLite – GLOB子句
SQLite – GLOB子句 .与LIKE不同,GLOB是大小写敏感的,它遵循语法的UNIX指定以下通配符. The asterisk sign (*) The question mark (?) ...
- SQLite – LIMIT子句
SQLite - LIMIT子句 SQLite LIMIT子句是用来限制SELECT语句返回的数据量. 语法: SELECT语句.LIMIT子句的基本语法如下: SELECT column1, col ...
- SQLite – HAVING 子句
SQLite – HAVING子句 HAVING使您能够指定过滤条件哪一组结果出现在最终的结果. WHERE子句的地方条件选定的列, 在有HAVING 子句的地方 就有GROUP BY子句包含的条件组 ...
- SQLite – ORDER 子句
SQLite - ORDER BY子句 The SQLite ORDER BY子句用于数据按升序或降序排序,基于一个或多个列. 语法: ORDER BY子句的基本语法如下: SELECT column ...
- SQLite的基本使用
SQLite 创建表 SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表.创建基本表,涉及到命名表.定义列及每一列的数据类型. 语法 CREATE TABLE 语句的基 ...
- 学习SQLite之路(三)
20160616更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite PRAGMA:可以用在 SQLite 环境内控制 ...
- 学习SQLite之路(二)
下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本 ...
- Android-adb 常用命令 和 sqlite
Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...
随机推荐
- shell的split生成的文件按规律命名及添加扩展名
可以参考 用shell切分文件--split shell下的split命令主要用于分割一些大文件用的,比如经常要用到将一个几十万行的TXT分割为多少行一个的文件,非常有用,唯一坑爹的是,切割后的文件不 ...
- 2.7-2.8 导入、导出数据(进/出)hive表的方式
一.导入数据进hive表 1.语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (p ...
- 20个Flutter实例视频教程-第14节: 展开闭合列表案例
博客地址; https://jspang.com/post/flutterDemo.html#toc-5b0 视频地址: https://www.bilibili.com/video/av397092 ...
- myeclipse 重新关联项目和svn
有时候重装了svn或重新定义了WorkSpaces,原项目和svn没关联了 那么 右击要提交的项目 在弹出的菜单依次:Team -->share project 在弹出的对话框里填入SVN的地址 ...
- HDU - 1098 - Ignatius's puzzle - ax+by=c
http://acm.hdu.edu.cn/showproblem.php?pid=1098 其实一开始猜测只要验证x=1的时候就行了,但是不知道怎么证明. 题解表示用数学归纳法,假设f(x)成立,证 ...
- Xcode10更新报错:library not found for -lstdc++.6.0.9
转载链接!:https://blog.csdn.net/timtian008/article/details/82792629 由于iPhone X Max 及iOS12系统的到来,必须升级xcode ...
- HDU3038【种类并查集】
题意: 给出m组区间[a,b],以及其区间的和,问有矛盾的有几组: 思路: 种类并查集. 主要是几个关系:同类元素的关系,父亲与儿子的关系,不同类元素的关系: 我们可以类似看作一个前缀和,sum[x] ...
- [Xcode 实际操作]九、实用进阶-(1)隐藏顶部的状态栏
目录:[Swift]Xcode实际操作 本文将演示隐藏顶部的状态栏. 在项目导航区,打开项目配置文件[Info.plist] 每个程序都拥有自己的项目配置文件,用来存储各种配置信息. 鼠标右键[Add ...
- 使用JRegex抽取网页信息
当网络爬虫将网页下载到磁盘上以后,需要对这些网页中的内容进行抽取,为索引做准备.一个网页中的数据大部分是HTML标签,索引肯定不会去索引这些标签.也就是说,这种信息是没有用处的信息,需要在抽取过程中过 ...
- ACM2015沈阳:B-Bazinga
2019.1.24 数据范围:\(n<=500,m<=2000\) 这个题最裸的暴力就是对于每个字符串,都去验证一次,时间复杂度\(O(n^2m)\) 我们发现,如果对于字符串\(i\), ...