SQLite 运算符(http://www.w3cschool.cc/sqlite/sqlite-operators.html)
来源:互联网 发布:stussy靠谱的淘宝店 编辑:程序博客网 时间:2024/06/10 07:18
SQLite 运算符
SQLite 运算符是什么?
运算符是一个保留字或字符,主要用于 SQLite 语句的 WHERE 子句中执行操作,如比较和算术运算。
运算符用于指定 SQLite 语句中的条件,并在语句中连接多个条件。
算术运算符
比较运算符
逻辑运算符
位运算符
SQLite 算术运算符
假设变量 a=10,变量 b=20,则:
实例
下面是 SQLite 算术运算符的简单实例:
sqlite> .mode linesqlite> select 10 + 20;10 + 20 = 30sqlite> select 10 - 20;10 - 20 = -10sqlite> select 10 * 20;10 * 20 = 200sqlite> select 10 / 5;10 / 5 = 2sqlite> select 12 % 5;12 % 5 = 2
SQLite 比较运算符
假设变量 a=10,变量 b=20,则:
实例
假设 COMPANY 表有以下记录:
ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.02 Allen 25 Texas 15000.03 Teddy 23 Norway 20000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0
下面的实例演示了各种 SQLite 比较运算符的用法。
在这里,我们使用 WHERE 子句,这将会在后边单独的一个章节中讲解,但现在您需要明白,WHERE 子句是用来设置 SELECT 语句的条件语句。
下面的 SELECT 语句列出了 SALARY 大于 50,000.00 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE SALARY > 50000;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------4 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.0
下面的 SELECT 语句列出了 SALARY 等于 20,000.00 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE SALARY = 20000;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.03 Teddy 23 Norway 20000.0
下面的 SELECT 语句列出了 SALARY 不等于 20,000.00 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE SALARY != 20000;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------2 Allen 25 Texas 15000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0
下面的 SELECT 语句列出了 SALARY 不等于 20,000.00 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE SALARY <> 20000;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------2 Allen 25 Texas 15000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0
下面的 SELECT 语句列出了 SALARY 大于等于 65,000.00 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE SALARY >= 65000;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------4 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.0
SQLite 逻辑运算符
下面是 SQLite 中所有的逻辑运算符列表。
实例
假设 COMPANY 表有以下记录:
ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.02 Allen 25 Texas 15000.03 Teddy 23 Norway 20000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0
下面的实例演示了 SQLite 逻辑运算符的用法。
下面的 SELECT 语句列出了 AGE 大于等于 25 且工资大于等于 65000.00 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------4 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.0
下面的 SELECT 语句列出了 AGE 大于等于 25 或工资大于等于 65000.00 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.02 Allen 25 Texas 15000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.0
下面的 SELECT 语句列出了 AGE 不为 NULL 的所有记录,结果显示所有的记录,意味着没有一个记录的 AGE 等于 NULL:
sqlite> SELECT * FROM COMPANY WHERE AGE IS NOT NULL;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.02 Allen 25 Texas 15000.03 Teddy 23 Norway 20000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0
下面的 SELECT 语句列出了 NAME 以 'Ki' 开始的所有记录,'Ki' 之后的字符不做限制:
sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%';ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------6 Kim 22 South-Hall 45000.0
下面的 SELECT 语句列出了 NAME 以 'Ki' 开始的所有记录,'Ki' 之后的字符不做限制:
sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*';ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------6 Kim 22 South-Hall 45000.0
下面的 SELECT 语句列出了 AGE 的值为 25 或 27 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 );ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------2 Allen 25 Texas 15000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.0
下面的 SELECT 语句列出了 AGE 的值既不是 25 也不是 27 的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN ( 25, 27 );ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.03 Teddy 23 Norway 20000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0
下面的 SELECT 语句列出了 AGE 的值在 25 与 27 之间的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE BETWEEN 25 AND 27;ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------2 Allen 25 Texas 15000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.0
下面的 SELECT 语句使用 SQL 子查询,子查询查找 SALARY > 65000 的带有 AGE 字段的所有记录,后边的 WHERE 子句与 EXISTS 运算符一起使用,列出了外查询中的 AGE 存在于子查询返回的结果中的所有记录:
sqlite> SELECT AGE FROM COMPANY WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000);AGE----------32252325272224
下面的 SELECT 语句使用 SQL 子查询,子查询查找 SALARY > 65000 的带有 AGE 字段的所有记录,后边的 WHERE 子句与 > 运算符一起使用,列出了外查询中的 AGE 大于子查询返回的结果中的年龄的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE > (SELECT AGE FROM COMPANY WHERE SALARY > 65000);ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.0
SQLite 位运算符
位运算符作用于位,并逐位执行操作。真值表 & 和 | 如下:
假设如果 A = 60,且 B = 13,现在以二进制格式,它们如下所示:
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
~A = 1100 0011
下表中列出了 SQLite 语言支持的位运算符。假设变量 A=60,变量 B=13,则:
实例
下面的实例演示了 SQLite 位运算符的用法:
sqlite> .mode linesqlite> select 60 | 13;60 | 13 = 61sqlite> select 60 & 13;60 & 13 = 12sqlite> select 60 ^ 13;10 * 20 = 200sqlite> select (~60);(~60) = -61sqlite> select (60 << 2);(60 << 2) = 240sqlite> select (60 >> 2);(60 >> 2) = 15
- SQLite 运算符(http://www.w3cschool.cc/sqlite/sqlite-operators.html)
- SQLite AND/OR 运算符(http://www.w3cschool.cc/sqlite/sqlite-and-or-clauses.html)
- SQLite 简介(http://www.w3cschool.cc/sqlite/sqlite-intro.html)
- SQLite 安装(http://www.w3cschool.cc/sqlite/sqlite-installation.html)
- SQLite 命令(http://www.w3cschool.cc/sqlite/sqlite-commands.html)
- SQLite 语法(http://www.w3cschool.cc/sqlite/sqlite-syntax.html)
- SQLite 表达式(http://www.w3cschool.cc/sqlite/sqlite-expressions.html)
- 01.SQLite 教程(http://www.w3cschool.cc/sqlite/sqlite-tutorial.html)
- SQLite 数据类型(http://www.w3cschool.cc/sqlite/sqlite-data-types.html)
- SQLite 创建数据库(http://www.w3cschool.cc/sqlite/sqlite-create-database.html)
- SQLite 附加数据库(http://www.w3cschool.cc/sqlite/sqlite-attach-database.html)
- SQLite 分离数据库(http://www.w3cschool.cc/sqlite/sqlite-detach-database.html)
- SQLite 创建表(http://www.w3cschool.cc/sqlite/sqlite-create-table.html)
- SQLite 删除表(http://www.w3cschool.cc/sqlite/sqlite-drop-table.html)
- SQLite Insert 语句(http://www.w3cschool.cc/sqlite/sqlite-insert.html)
- SQLite Select 语句(http://www.w3cschool.cc/sqlite/sqlite-select.html)
- SQLite Where 子句(http://www.w3cschool.cc/sqlite/sqlite-where-clause.html)
- SQLite Update 语句(http://www.w3cschool.cc/sqlite/sqlite-update.html)
- 黑马程序员—java基础学习--Map集合、Collections,Arrays工具类
- LINUX总结第16篇:Linux中的lo回环接口详细介绍
- .NET(C#): 多种输出字节数组的方法
- Matlab混合编程中编译器设置问题
- SQLite Select 语句(http://www.w3cschool.cc/sqlite/sqlite-select.html)
- SQLite 运算符(http://www.w3cschool.cc/sqlite/sqlite-operators.html)
- 在Android平台上利用opencv进行图像处理之边缘检测、灰度变换、缩小
- Sass进阶
- Ksvd算法
- cocos2d-x项目中含CocoStudio移植Android时Android.mk的内容
- SQLite 表达式(http://www.w3cschool.cc/sqlite/sqlite-expressions.html)
- 5Foundation Kit 字典NSDictionary
- 用C++11的std::async代替线程的创建
- 《unix高级环境编程》信号——信号基本概述