- SQLite快速入门
- SQLite是什么?
- SQLite历史
- SQLite特性/为什么要使用SQLite?
- SQLite优点和缺点
- SQLite安装
- SQLite命令大全
- SQLite语法大全
- SQLite数据类型
- SQLite运算符
- SQLite表达式
- 数据库和表
- CURD操作
- 子句和条件
- 连接操作
- SQLite时间日期
- 聚合函数
- SQLite触发器
- SQLite主键
- SQLite导出导入
- SQLite连接程序
SQLite IN运算符
SQLite IN
运算符用于确定值是否匹配列表或子查询中的任何值。 IN
运算符的语法如下:
expression [NOT] IN (value_list|subquery);
expression
可以是任何有效的表达式。 它可以是表中的某一列。
值的列表(value_list
)是固定值列表或子查询返回的一列的结果集。表的返回类型和列表中的值必须相同。
IN
运算符根据表达式是否匹配值列表中的任何值,返回true
或false
。要查询非列表中的值匹配,请使用NOT IN
运算符。
SQLite IN运算符示例
假设有一个名为STUDENT
的表,并具有以下数据:
sqlite> SELECT * FROM STUDENT ; 1|Maxsu|27|Shengzheng|20000.0 2|Minsu|25|Beijing|15000.0 3|Avgsu|23|Shanghai|2000.0 4|Linsu|25|Guangzhou|65000.0 5|Sqlsu|26|Hainan|25000.0 6|Javasu|21|Shengzheng|18000.0 sqlite>
若要查询ID为1
,3
,5
的学生信息,可参考以下语句 -
SELECT ID,AGE,NAME,ADDRESS FROM student WHERE ID IN(1,3,5);
执行上面查询语句,得到以下结果 -
上面的查询语句,与下面的OR条件语句效果一样 -
SELECT ID,AGE,NAME,ADDRESS FROM student WHERE ID = 1 OR ID=3 OR ID=5;
IN语句和子查询
假设有一个名称为:department
的表,记录每个学生的所在的部门。
sqlite> select id ,dept,emp_id from department; 1|财务部|1 2|技术部|2 3|技术部|3 4|市场部|4 5|市场部|5 sqlite>
其中,emp_id
字段引用student
表的ID
字段,现在查询每个分配了部门的学生的信息,参考以下语句 -
SELECT ID,AGE,NAME,ADDRESS FROM student WHERE ID IN ( SELECT emp_id FROM department );
执行上面语句,得到如下结果 -
sqlite> select id ,dept,emp_id from department; 1|财务部|1 2|技术部|2 3|技术部|3 4|市场部|4 5|市场部|5 sqlite> sqlite> SELECT ID,AGE,NAME,ADDRESS FROM student WHERE ID IN ( ...> SELECT emp_id FROM department ); 1|27|Maxsu|Shengzhen 2|25|Minsu|Beijing 3|23|Avgsu|Shanghai 4|25|Linsu|Guangzhou 5|26|Sqlsu|Haikou sqlite>
SQLite NOT IN示例
查询那些ID
不是1
,3
,5
学生的信息,参考以下语句 -
SELECT ID,AGE,NAME,ADDRESS FROM student WHERE ID NOT IN(1,3,5);
查询那些未分配部门的学生的信息,参考以下语句 -
SELECT ID,AGE,NAME,ADDRESS FROM student WHERE ID NOT IN ( SELECT emp_id FROM department );
执行上面查询语句,得到以下结果 -
下一篇:SQLite连接(JOIN子句)
扫描二维码
程序员编程王